昨天suffer了一個離奇的deadlock issue,情境是如果User已經買過某個IAP Item後,重複購買時有些Device就會卡住然後ANR,結果dump出來Thread的狀態後發現,結果Main Thread卡在在GA回報Crash的Task。
stackoverflow有人建議直接把它回報crash的功能關掉(專心做event的事情就好了啊GA)
http://stackoverflow.com/questions/30654669/anr-with-google-analytics
2015年11月20日 星期五
2015年11月18日 星期三
Parse Push Notification 1.11.0 Integration issue
今天無聊拿side project來整合Parse的Push Notification,結果弄了一個多小時才try出來;故事是這樣子的,使用的Parse版本是1.11.0,照著官方文件(或者Github Sample Project)設定完AndroidManifest.xml、在Application.onCreate()塞Code後,你會得到一個完全收不到Notification的程式碼;此時你必須注意兩件事情。
第一,AndroidManifest.xml的ParseBroadcastReceiver的intent-filter要ㄕ對:
<receiver android:name="com.parse.ParseBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
但你必須要這樣
<receiver android:name="com.parse.ParsePushBroadcastReceiver"
android:exported="false">
<intent-filter>
<action android:name="com.parse.push.intent.RECEIVE" />
<action android:name="com.parse.push.intent.DELETE" />
<action android:name="com.parse.push.intent.OPEN" />
</intent-filter>
</receiver>
第二,記得把ParsePushBoradcastReceiver寫進去AndroidManifest.xml
官方文件沒有教你寫進去,是我自己開Debug Log跟追SDK Code之後才發現,發送Notification的人是ParsePushBoradcastReceiver,但它沒有權限接受Broadcast。
搞不好過一陣子官方就會把文件全部更新到正確,而這篇文章則是紀念這一個小時的自己到底發生了什麼事情;不過好險Parse把SDK也Open Source,某種程度也是鼓勵開發者發現Bug時先別急著回報,可以幫忙它們修一點Bug。
訂閱:
文章 (Atom)