发送远程推送
Hive SDK 提供了发送远程推送、搜索和更改推送设置的功能。游戏开发者需要做的是为用户创建设置 UI,以便用户选择是否使用推送服务。
发送远程推送¶
远程推送有两种发送方式:通过 Hive 控制台和通过从游戏服务器调用 API 到 Hive 服务器。因此,您在游戏客户端上无需执行任何操作即可发送或接收远程推送。
有关更多详细信息,请点击下面的链接。
搜索推送设置¶
Hive SDK 定义了 RemotePush
类,包含有关用户远程推送配置状态的以下内容。
名称 | 类型 | 描述 |
---|---|---|
isAgreeNotice | 布尔值 | 描述用户设置的公告通知的激活状态 true : 用户选择接收公告通知 false : 用户选择不接收公告通知 没有安装历史记录: true 如果服务器没有返回值: true |
isAgreeNight | 布尔值 | 描述用户设置的夜间通知的激活状态 true : 用户选择接收夜间通知 false : 用户选择不接收夜间通知 没有安装历史记录: 韩国; false , 除韩国以外的国家; true 如果服务器没有返回值: false |
要搜索存储在 Hive 服务器中的用户的远程推送状态,请调用Push类的 getRemotePush()
方法,并检查作为搜索结果返回的 RemotePush
对象。 以下是搜索远程推送设置的示例代码。
API 参考: hive.Push.getRemotePush
API 参考: Push::getRemotePush
API 参考: Push.getRemotePush
API 参考: com.hive.Push.getRemotePush
API 参考: PushInterface .getRemotePush
API 参考: HIVEPush:getRemotePush
更改推送设置¶
如果用户更改了公告通知或夜间通知的状态,您应该将更新的数据发送到Hive服务器。要将更新的数据发送到Hive服务器,请将数据设置为remotePush
参数(RemotePush
对象),以调用Push类的setRemotePush()
方法,然后使用回调函数检查结果。以下是更改广告推送设置的示例代码。
API 参考: hive.Push.setRemotePush
#include "HivePush.h"
bool bNotice = true;
bool bNight = false;
FHiveRemotePush RemotePush(bNotice, bNight);
FHivePush::SetRemotePush(RemotePush, FHivePushOnRemotePushDelegate::CreateLambda([this](const FHiveResultAPI& Result, const FHiveRemotePush& RemotePush) {
if (Result.IsSuccess()) {
// API 调用成功
}
}));
API 参考: Push::setRemotePush
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
HIVERemotePush remotePush;
remotePush.isAgreeNotice = true;
remotePush.isAgreeNight = false;
Push::setRemotePush(remotePush, [=](resultAPI result, HIVERemotePush remotePush) {
if (result.isSuccess()) {
// call successful
}
});
API 参考: Push.setRemotePush
import com.hive.Push
import com.hive.ResultAPI
val remotePush = Push.RemotePush()
remotePush.isAgreeNotice = true
remotePush.isAgreeNight = false
Push.setRemotePush(remotePush, object : Push.RemotePushListener {
override fun onPushToken(result: ResultAPI, remotePush: Push.RemotePush?) {
if (result.isSuccess) {
// call successful
}
}
})
API 参考: com.hive.Push.setRemotePush
API 参考: PushInterface.setRemotePush
API 参考: HIVEPush:setRemotePush
#import <HIVEService/HIVEService-Swift.h>
HIVERemotePush *remotePush = [[HIVERemotePush alloc] init];
remotePush.isAgreeNotice = YES;
remotePush.isAgreeNight = NO;
[HIVEPush setRemotePush: remotePush handler: ^(HIVEResultAPI *result, HIVERemotePush *remotePush){
if ([result isSuccess]) {
// 调用成功
}
}];