移动推送五. 在应用中注册和启动移动推送
详细解答可以参考官方帮助文档
首先通过PushServiceFactory获取到CloudPushService,然后调用register()初始化并注册云推送通道,并确保Application上下文中进行初始化工作。
请参照以下代码段进行初始化:
import android.app.Application;import android.content.Context;import android.util.Log;import com.alibaba.sdk.android.push.CloudPushService;import com.alibaba.sdk.android.push.CommonCallback;import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;public class MainApplication extends Application { private static final String TAG = 'Init'; @Override public void onCreate() { super.onCreate(); initCloudChannel(this); } /** * 初始化云推送通道 * @param applicationContext */ private void initCloudChannel(Context applicationContext) { PushServiceFactory.init(applicationContext); CloudPushService pushService = PushServiceFactory.getCloudPushService(); pushService.register(applicationContext, new CommonCallback() { @Override public void onSuccess(String response) { Log.d(TAG, 'init cloudchannel success'); } @Override public void onFailed(String errorCode, String errorMessage) { Log.d(TAG, 'init cloudchannel failed -- errorcode:' + errorCode + ' -- errorMessage:' + errorMessage); } }); }}
【注意】:
如果设备成功注册,将回调callback.onSuccess()方法。但如果注册服务器连接失败,则调用callback.onFailed方法,并且自动进行重新注册,直到onSuccess为止。(重试规则会由网络切换等时间自动触发。)请在网络通畅的情况下进行相关的初始化调试,如果网络不通,或者App信息配置错误,在onFailed方法中,会有相应的错误码返回,可参考错误处理。
启动正常确认方法:
回调方法callback.onSuccess()被调用。以上文接入代码为例,logcat将会打印以下日志:
11-24 12:55:51.096 15235-15535/com.alibaba.xxxx D/YourApp﹕ init cloudchannel success
确认cloudchannel初始化正常,在logcat日志中:输入awcn关键字:
11-24 12:53:51.036 15235-15556/com.alibaba.xxxx E/awcn﹕ |[seq:AWCN1_1] AUTH httpStatusCode: 20011-24 12:53:51.036 15235-15556/com.alibaba.xxxx E/awcn﹕ |[seq:AWCN1_1] status:AUTH_SUCC
确认DeviceId获取正常:在初始化成功后使用 cloudPushService.getDeviceId() 获取deviceId,应该能够成功获取。
赞0
踩1