跳转到主要内容
PRODUCT DOCUMENTS

快速找到所需文档,高效完成接入与排障

浏览产品文档与友盟 Skill,展开目录并阅读正文。

消息排查常见FAQ

如何获取设备Device_token?

  • Android

1)注册成功时会返回devicetoken

 //获取消息推送实例
 PushAgent pushAgent = PushAgent.getInstance(context);
 //注册推送服务,每次调用register方法都会回调该接口
 pushAgent.register(new UPushRegisterCallback() {

 @Override
 public void onSuccess(String deviceToken) {
 //注册成功会返回deviceToken deviceToken是推送消息的唯一标志
 Log.i(TAG, "注册成功:deviceToken:--> " + deviceToken);
 }

 @Override
 public void onFailure(String errCode, String errDesc) {
 Log.e(TAG, "注册失败:--> " + "code:" + errCode + ", desc:" + errDesc);
 }
 });

2)sdk初始化及注册成功后通过PushAgent.getInstance(this).getRegistrationId()获取

  • ios

-(void)application:(UIApplication*)application

didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken

{

  if(![deviceToken isKindOfClass:[NSData class]])return;

  const unsigned *tokenBytes =(const unsigned*)[deviceToken bytes];

 

  NSString*hexToken =[NSString stringWithFormat:@"%08x%08x%08x%08x%08x%08x%08x%08x",

                        ntohl(tokenBytes[0]), ntohl(tokenBytes[1]), ntohl(tokenBytes[2]),

                        ntohl(tokenBytes[3]), ntohl(tokenBytes[4]), ntohl(tokenBytes[5]),

                        ntohl(tokenBytes[6]), ntohl(tokenBytes[7])];

  NSLog(@"deviceToken:%@===",hexToken);

  //1.2.7版本开始不需要用户再手动注册devicetoken,SDK会自动注册

  //传入的devicetoken是系统回调didRegisterForRemoteNotificationsWithDeviceToken的入参,切记

//   [UMessage registerDeviceToken:deviceToken];

}

消息发送失败等问题更多说明请见文档:https://developer.umeng.com/docs/67966/detail/2409275#4e2d0e8922ia7