下载SDK参见这里
注意:勾选【XX】 服务
集成SDK参见这里
注意:
1 SDK中的yw_1222.jpg 安全图片需要放置到App工程的res/drawable 目录中,如果没有drawable 目录可以新建一个,且安全图片的文件名称不可修改。
2 要将AndroidManifest.xml中的内容合并到项目中,可以直接复制,也可以设置project.properties文件的manifestmerger.enabled为true。
<!-- 默认使用BCMessageBroadcastReceiver【如果业务没有透传消息】如果有透传消 @Override BCMessageBroadcastReceiver.onMessage(Context context,String messgeBody,Map<String,String> extMap) --> <receiver android:name=com.alibaba.sdk.android.BCMessageBroadcastReceiver"> <intent-filter> <action android:name=com.alibaba.android.message.intent.action.COMMAND"/> </intent-filter> <intent-filter> <action android:name=com.alibaba.android.message.intent.action.RECEIVER"/> </intent-filter> </receiver>
public class MyApplication extends Application { private static final String TAG = MyApplication.class.getName(); private PushAgent mPushAgent; @Override public void onCreate() { Log.e(TAG,"MyApplication onCreate......"); mPushAgent = PushAgent.getInstance(this); mPushAgent.setDebugMode(true); AlibabaSDK.turnOnDebug(); AlibabaSDK.setEnvironment(Environment.TEST); AlibabaSDK.asyncInit(this, new InitResultCallback() { @Override public void onSuccess() { BCMessageRegister.binder(mContext,BCMessageRegister.ChannelType.UMENG,"5652f59a67e58eefc9000d3b",s,null); Log.i(TAG,"asynInic successc!!"); } @Override public void onFailure(int code, String msg) { Log.i(TAG,"asynInic failed.["+code+"]["+msg+"]"); } }); UmengMessageHandler messageHandler = new UmengMessageHandler(){ /** * 参考集成文档的1.6.3 * http://dev.umeng.com/push/android/integration#1_6_3 * */ @Override public void dealWithCustomMessage(final Context context, final UMessage msg) { new Handler().post(new Runnable() { @Override public void run() { Toast.makeText(context, msg.custom, Toast.LENGTH_LONG).show(); BCMessageRegister.handlerMessage(context,msg.custom); } }); } @Override public Notification getNotification(Context context, UMessage msg) { return null; } }; mPushAgent.setMessageHandler(messageHandler); } }
实现透传
public class UmengMessageBroadcastReceiver extends BCMessageBroadcastReceiver { private final static String TAG = UmengMessageBroadcastReceiver.class.getName(); @Override protected final void onMessage(Context context,String messgeBody,Map<String,String> extMap) { try { /*** * 业务自己实现透传后的逻辑 */ Log.d(TAG,"onMessage-->["+messgeBody+"] -->["+extMap+"] "); }catch (Throwable t){ Log.w(TAG,"onMessage",t); } } }
确定客户端接入完成,即可在控制台进行推送测试。见文档:
推送服务端集成参见:服务端集成
旺旺群:1363288918