這里會顯示出您選擇的修訂版和當(dāng)前版本之間的差別。
后一修訂版 | 前一修訂版 | ||
toaster:android-developer-guide [2015/03/18 15:17] cobub 創(chuàng)建 |
toaster:android-developer-guide [2017/07/14 11:18] (當(dāng)前版本) |
||
---|---|---|---|
行 1: | 行 1: | ||
- | xx | + | ~~Title:Cobub Toaster android開發(fā)者指南 - 開源移動應(yīng)用運(yùn)營平臺 - 移動統(tǒng)計(jì)、移動推送解決方案 - Cobub 移動開發(fā)者中心~~? |
+ | {{description>Cobub Toaster android開發(fā)者指南}}? | ||
+ | {{keywords>Cobub Toaster,開源移動應(yīng)用分析,移動分析,移動應(yīng)用分析,android,開發(fā)者指南}}? | ||
+ | ====== Android開發(fā)者指南 ======? | ||
+ | ? | ||
+ | ? | ||
+ | 版本支持? | ||
+ | ? | ||
+ | * 兼容Android2.2以上(API 8以上)? | ||
+ | * SDK版本v1.0? | ||
+ | ===== 集成步驟 =====? | ||
+ | ? | ||
+ | ? | ||
+ | 修改**AndroidManifest.xml**? | ||
+ | ? | ||
+ | 添加權(quán)限? | ||
+ | <code>? | ||
+ | <uses-permission android:name="android.permission.INTERNET" />? | ||
+ | <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />? | ||
+ | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/></code>? | ||
+ | 添加組件? | ||
+ | <code>? | ||
+ | <service android:name="com.cobub.toaster.push.component.PushService">? | ||
+ | <intent-filter>? | ||
+ | <action android:name="com.cobub.toaster.push.SYNC" />? | ||
+ | </intent-filter>? | ||
+ | </service>? | ||
+ | <receiver android:name="com.cobub.toaster.push.component.CPushReceiver"? | ||
+ | android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >? | ||
+ | <intent-filter>? | ||
+ | <action android:name="android.intent.action.BOOT_COMPLETED" />? | ||
+ | <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />? | ||
+ | </intent-filter>? | ||
+ | </receiver>? | ||
+ | </code>? | ||
+ | **添加代碼**? | ||
+ | ? | ||
+ | 在APP啟動以后盡早調(diào)用:? | ||
+ | <code>? | ||
+ | CPushInterface.initPushService(Context ctx, String UID, String host, int port);</code>? | ||
+ | ===== API參考說明 =====? | ||
+ | ? | ||
+ | ? | ||
+ | **初始化**? | ||
+ | <code>? | ||
+ | CPushInterface.initPushService(Context ctx, String UID, String host, int port);</code>? | ||
+ | ctx:上下文參數(shù)? | ||
+ | UID:必須傳入U(xiǎn)ID? | ||
+ | host:推送服務(wù)器綁定的域名或IP地址? | ||
+ | port:推送服務(wù)器綁定的端口? | ||
+ | ? | ||
+ | **設(shè)置Channel**? | ||
+ | ? | ||
+ | 此方法為終端設(shè)備設(shè)定TAG值? | ||
+ | <code>? | ||
+ | CPushInterface.setChannel(Context ctx, String channelName);</code>? | ||
+ | ctx:上下文參數(shù)? | ||
+ | channelName:channel的值,這里即為為終端設(shè)置TAG,例如“l(fā)ocation:Beijing”? | ||
+ | ? | ||
+ | **已閱反饋**? | ||
+ | ? | ||
+ | 向推送服務(wù)器PNS報(bào)告通知欄消息已被點(diǎn)擊。? | ||
+ | <code>? | ||
+ | CPushInterface.sendReadFeedback(Context context, String mid, String expired);</code>? | ||
+ | ctx:上下文參數(shù)? | ||
+ | mid:推送消息中的mid? | ||
+ | expired:推送消息中的expired時(shí)間? | ||
+ | ? | ||
+ | **接收推送**? | ||
+ | ? | ||
+ | 透傳消息采用Broadcast傳遞,需要自定義一個(gè)BroadcastReceiver來接收,Receiver需要過濾自身app包名(package)的action,否則無法收到消息,如下內(nèi)容需加入menifest:? | ||
+ | <code>? | ||
+ | <receiver ? | ||
+ | android:name="com.cobub.toaster.push.TestReceiver"? | ||
+ | android:permission="com.cobub.toaster.push">? | ||
+ | <intent-filter >? | ||
+ | <action android:name="com.cobub.toaster.push"/>? | ||
+ | </intent-filter>? | ||
+ | </receiver></code>? | ||
+ | 從推送服務(wù)器推送到手機(jī)的消息包含如下內(nèi)容:? | ||
+ | <code>? | ||
+ | mid:“XXXXXX”? | ||
+ | data:“XXXXXX”? | ||
+ | expired:“XXXXXX”? | ||
+ | channel:“XXXXXXXX” </code>? | ||
+ | 在Receiver中可以通過以下方式取出字段:? | ||
+ | <code>? | ||
+ | String msg = intent.getStringExtra("data");? | ||
+ | String expired = intent.getStringExtra("expired");? | ||
+ | String mid = intent.getStringExtra("mid");</code>? | ||
+ | 可根據(jù)需要調(diào)用已閱反饋接口。 |