這真是個浪費時間又漫長的過程,CF 推出新版後台以及新版 SDK 的時候,小蛙就下載來測試,一開始小蛙直接套在「我的股票精算師」上,但只要一套上去就當機 …

我的股票精算師的架構比較舊,想說可能是因為這樣才當機,試了好多方法,SDK 說明文件看了又看,還是一樣的狀況 …
不要太固執,先跑跑看 CF 自己的 Sample Code 吧!一跑,喵的咧!一樣只要點選「展示」,立馬當機!怎麼可能有公司直接釋出有問題的 SDK 呢?把原本用來測試的 Nexus 7 二代換成自己的手機 HTC M7 來做測試,登愣 ~ 手機可以,至於 Nexus 7 二代為什麼不行呢?看了一下 logcat 的 error

09-02 10:03:23.655    3775-3954/com.clickforce.MFAD E/AndroidRuntime﹕ FATAL EXCEPTION: Thread-7730
    Process: com.clickforce.MFAD, PID: 3775
    java.lang.NullPointerException: Attempt to invoke interface method 'void com.android.internal.telephony.Phone.updateServiceLocation()' on a null object reference
            at android.os.Parcel.readException(Parcel.java:1552)
            at android.os.Parcel.readException(Parcel.java:1499)
            at com.android.internal.telephony.ITelephony$Stub$Proxy.updateServiceLocation(ITelephony.java:1900)
            at android.telephony.CellLocation.requestLocationUpdate(CellLocation.java:42)
            at com.adcustom.sdk.utils.lbs.a.a(Unknown Source)
            at com.adcustom.sdk.utils.lbs.a.<init>(Unknown Source)
            at com.adcustom.sdk.utils.lbs.b.run(Unknown Source)

錯誤在 com.clickforce.MFAD 裡面呼叫到 null 物件造成 java.lang.NullPointerException 例外 …  好吧!看來是 ClickForce SDK 呼叫造成,小蛙想改也沒辦法,不過為什麼手機可以,Nexus 7 二代卻不行呢?看了上面的訊息跟 internal.telephony.Phone.updateServiceLocation(),剛好 Nexus 7 二代沒有通話模組,就往這個方面去猜了!
也許他們的 SDK 只是 beta 版,寫信去跟 CF 反應好了,並且把小蛙的猜測告訴對方,得到的結果是,我們的 SDK 應該沒有問題喔,工程師使用另一台沒有通話模組的平版測試也是沒有問題的,請小蛙再看看哪裡有問題,球又丟回來了 … SDK 是 CF 的,Sample Code 是 CF 的,小蛙只是直接執行 … 會是哪裡有問題呢?
上網查了一下,似乎 Lollipop (5.x) 以上有不少人回報這個問題 … 但 … 這應該也不是小蛙要去解決的吧!大膽假設棒棒糖(Lollipop)版本對於沒有通話模組的平板可能會造成的問題 … maybe … 小蛙手邊沒有其他可以升上 5.x 且沒有通話模組的平板可以測試了,不過至少測試過 3 台 Nexus 7 二代確定是不行。
看著 CF 後台流量跟點擊數越來越少,新版的 SDK 又面臨當機的問題 … 難不成要先過濾如果使用者是 Nexus 7 二代就不顯示廣告 … 哀 ~ 有空再來弄了!
附上兩則影片,不知道為什麼今天測的時候無法出廣告,但是只要呼叫了 adBanner.start(); 就當掉。

當機的 on Nexus 7 二代

正常的 on HTC M7

5 Replies to “ClickForce (MobiForce) 當機問題”

  1. 我也覺得他們家不曉得廣告是否都還未切換到新系統去,還滿少的.看之前版主程式中舊sdk的廣告就比較多一些,祈禱他們的業務拉廣告的速度能夠快一些,不然收入真得不多耶!!

    1. Dear mar:
      這個小蛙也不清楚了,再次反映給 CF,他說他們會請工程師處理,新版的小蛙還沒套上去,不希望 Nexus 7 二代的使用者沒辦法使用 … 如果還是沒改善,可能就要自己額外處理或是直接換家了。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *