跳转至

发送远程推送

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

using hive;    
    Push.getRemotePush((ResultAPI result, RemotePush remotePush) => {    
        if (result.isSuccess()) {    
        // call successful    
        }    
});
#include "HivePush.h"

FHivePush::GetRemotePush(FHivePushOnRemotePushDelegate::CreateLambda([this](const FHiveResultAPI& Result, const FHiveRemotePush& RemotePush) {
        if (Result.IsSuccess()) {
                // API 调用成功
        }
}));

API 参考: Push::getRemotePush

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    Push::getRemotePush([=](ResultAPI result, RemotePush remotePush) {    
        if (result.isSuccess()) {    
        // call successful    
        }    
});

API 参考: Push.getRemotePush

import com.hive.Push    
    import com.hive.ResultAPI    
    Push.getRemotePush(object : Push.RemotePushListener {    
         override fun onPushToken(result: ResultAPI, remotePush: Push.RemotePush?) {    
             if (result.isSuccess) {    
                 // call successful    
             }    
         }    
})

API 参考: com.hive.Push.getRemotePush

import com.hive.Push;    
    import com.hive.ResultAPI;    
    Push.INSTANCE.getRemotePush((result, remotePush) -> {    
         if (result.isSuccess()) {    
             // call successful    
         }    
});

API 参考: PushInterface .getRemotePush

import HIVEService    
    PushInterface.getRemotePush() { result, remotePush in    
        if result.isSuccess() {    
        // call successful    
        }    
}

API 参考: HIVEPush:getRemotePush

#import <HIVEService/HIVEService-Swift.h>    
    [HIVEPush getRemotePush: ^(HIVEResultAPI *result, HIVERemotePush *remotePush) {    
        if ([result isSuccess]) {    
        // call successful    
        }    
}];

更改推送设置

如果用户更改了公告通知夜间通知的状态,您应该将更新的数据发送到Hive服务器。要将更新的数据发送到Hive服务器,请将数据设置为remotePush参数(RemotePush对象),以调用Push类的setRemotePush()方法,然后使用回调函数检查结果。以下是更改广告推送设置的示例代码。

API 参考: hive.Push.setRemotePush

using hive;    
    RemotePush remotePush = new RemotePush();    
    remotePush.isAgreeNotice = true;    
    remotePush.isAgreeNight = false;    

    Push.setRemotePush(remotePush, (ResultAPI result, RemotePush remotePush) => {    
        if (result.isSuccess()) {    
        // call successful    
        }    
});
#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

import com.hive.Push;    
    import com.hive.ResultAPI;    
    Push.RemotePush remotePush = new Push.RemotePush();    
    remotePush.setAgreeNotice(true);    
    remotePush.setAgreeNight(false);    
    Push.INSTANCE.setRemotePush(remotePush, (result, remotePush1) -> {    
         if (result.isSuccess()) {    
             // call successful    
         }    
});

API 参考: PushInterface.setRemotePush

import HIVEService    
    let remotePush = RemotePush()    
    remotePush.isAgreeNotice = true    
    remotePush.isAgreeNight = false    
    PushInterface.setRemotePush(remotePush) { result, remotePush in    
        if result.isSuccess() {    
        // call successful    
        }    
}

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]) {    
        // 调用成功    
        }    
}];