跳轉至

发送远程推送

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]) {    
        // call successful    
        }    
}];