我明白你的问题了。请仔细阅读推送文档:
https://leancloud.cn/docs/android_push_guide.html4
为什么拿不到 objectId 是因为,SDK 的逻辑是设备安装时初始化一个 installationId,然后像如下代码所示,保存到服务器成功后才会生成 objectId 的,因为它对应数据库表里的一条数据:
// 保存 installation 到服务器
AVInstallation.getCurrentInstallation().saveInBackground(new SaveCallback() {
@Override
public void done(AVException e) {
if (e == null) {
// 保存成功
String objectId = AVInstallation.getCurrentInstallation().getObjectId();
t.setText("这个设备的 objectId: " + objectId);
// 关联 installationId 到用户表等操作……
} else {
// 保存失败,输出错误信息
}
}
});
供参考。
这个代码我有的,我也是这样写的,还是那个问题,直接run出来的显示保存成功,能获取到objectId,release出来的也是打印的保存成功,但是我输出AVInstallation.getCurrentInstallation():AVObject [className=_Installation, objectId=, updatedAt=null, createdAt=null, uuid=10aec870-d103-4c5f-b641-359a8469fc83, fetchWhenSave=false, keyValues={installationId=com.avos.avoscloud.u@47a4cce8, timeZone=com.avos.avoscloud.u@47a4cbf8, deviceType=com.avos.avoscloud.u@47a4ca90}],还是没找到原因
//这个启动pushservice,同时设置默认打开activity
PushService.setDefaultPushCallback(this, MainPageActivity.class);
// 保存 installation 到leancloud服务器
AVInstallation.getCurrentInstallation().saveInBackground(new SaveCallback() {
@Override
public void done(AVException e) {
if (e == null) {
Log.e("保存成功:", AVInstallation.getCurrentInstallation().toString());
} else {
Log.e("保存失败:", e + "---#######---" + AVInstallation.getCurrentInstallation().toString());
}
AVInstallation.getCurrentInstallation().saveInBackground();
}
});
// 显示的设备的 installationId,用于推送的设备标示
Log.e("该设备--obj-id: " ,AVInstallation.getCurrentInstallation().toString());
Log.e("该设备--obj-id: ", AVInstallation.getCurrentInstallation().getObjectId());
这是我写在主页的与leancloud有关的,你看下,还需要什么?
嗯,我知道,这是我为了输出查看的,这个对象输出是: AVObject [className=_Installation, objectId=, updatedAt=null, createdAt=null, uuid=0ff63481-2b42-4c48-825b-46dc4c3e66fb, fetchWhenSave=false, keyValues={installationId=com.avos.avoscloud.u@42d6bbe0, timeZone=com.avos.avoscloud.u@42d6bda0, deviceType=com.avos.avoscloud.u@42d6bcd0}]
从这里也可以看到objectId= ,
看来你的问题和这个类似:
我们需要更改下文档,重点提示下混淆的时候,别忘了把 LeanCloud 的 SDK 相关类写入 proguard 文件。
推荐主题
主题 | 分类 | 回复 | 浏览 | 活动 |
---|---|---|---|---|
【已解决】pod ‘LeanCloudSocial’ 產生 dyld: Library not loaded 錯誤 | 问题讨论 | 1 | 1.1K | 18-09-11 |
leanengin的用户登录状态 | 问题讨论 | 2 | 1.0K | 16-12-16 |
IOS 的incrementKey计数 | 问题讨论 | 2 | 741 | 16-05-3 |
Ios-推送、推送、推送、推送、推送 | 问题讨论 | 9 | 1.9K | 16-11-23 |
小程序请求 jscode2session 接口报错 | 小程序 | 0 | 373 | 24-01-2 |