推送功能

可开启或关闭全部推送、夜间推送、广告推送功能,并可使用本地推送功能。 使用推送功能时,需将广告推送设置为true(广告推送值为false时,无论一般/夜间推送如何设置,都不会收到推送。)

一般推送设置


如要设置一般推送,请使用下列代码。

    if (FGamePotSDKPluginModule::IsGamePotSdkAvailable())
        FGamePotSDKPluginModule::GetSharedGamePotSdk()->setPushStatus(bool pushEnable); 

void ASampleGameModeBase::OnPushSuccess()
{
    /// 对推送状态变更的服务器通信成功
}

void ASampleGameModeBase::OnPushFailure(FNError NError)
{
        // 推送状态变更失败。请使用error.message显示错误消息。
}

夜间推送设置


如要设置夜间推送,请使用下列代码。

    if (FGamePotSDKPluginModule::IsGamePotSdkAvailable())
        FGamePotSDKPluginModule::GetSharedGamePotSdk()->setPushNightStatus(bool nightPushEnable); 

void ASampleGameModeBase::OnPushNightSuccess()
{
    /// 对夜间推送状态变更的服务器通信成功
}

void ASampleGameModeBase::OnPushNightFailure(FNError NError)
{
        // 夜间推送状态变更失败。请使用error.message显示错误消息。
}

广告推送设置


如要设置广告推送,请使用下列代码。

     if (FGamePotSDKPluginModule::IsGamePotSdkAvailable())
        FGamePotSDKPluginModule::GetSharedGamePotSdk()->setPushADStatus(bool adPushEnable); 

void ASampleGameModeBase::OnPushAdSuccess()
{
    /// 对广告推送状态变更的服务器通信成功
}

void ASampleGameModeBase::OnPushFailure(FNError NError)
{
        // 广告推送状态变更失败。请使用error.message显示错误消息。

同时设置一般/夜间/广告推送


如果是登录前需要确认是否允许推送的游戏,登录后必须调用以下代码。

     if (FGamePotSDKPluginModule::IsGamePotSdkAvailable())
        FGamePotSDKPluginModule::GetSharedGamePotSdk()->setPushStatus(bool pushEnable, bool nightPushEnable, bool adPushEnable); 

void ASampleGameModeBase::OnPushStatusSuccess()
{
    /// 对推送状态变更的服务器通信成功
}

void ASampleGameModeBase::OnPushStatusFailure(FNError NError)
{
        // 推送状态变更失败。请使用error.message显示错误消息。
}

确认推送状态


如要确认当前推送状态,请使用下列代码。

    if (FGamePotSDKPluginModule::IsGamePotSdkAvailable())
        FNPushInfo NPushInfo = FGamePotSDKPluginModule::GetSharedGamePotSdk()->getPushStatus(); 

USTRUCT()
struct FNPushInfo
{
    UPROPERTY()
    bool enable;      // 是否允许一般推送

    UPROPERTY()
    bool night;        // 是否允许夜间推送

    UPROPERTY()
    bool ad;           // 是否允许广告推送
}

本地推送功能


可以不通过推送消息服务器,直接在设备自主显示推送。

如要通过注册推送在规定时间显示本地推送时,请使用下列代码。

     if (FGamePotSDKPluginModule::IsGamePotSdkAvailable())
         int pushId = FGamePotSDKPluginModule::GetSharedGamePotSdk()->sendLocalPush(FString date, FString title, FString message); 

// date : (Format - timestamp "yyyy-MM-dd HH:mm:ss") 
// ex >  DateTime.Parse("2018-01-01 00:00:00")
//  title :  "title"
// message :  "content"

// pushid的返回值由开发商管理

取消已注册的本地推送


如要使用注册本地推送时获得的pushid值取消已注册的推送,请使用下列代码。

 if (FGamePotSDKPluginModule::IsGamePotSdkAvailable())

 bool success = FGamePotSDKPluginModule::GetSharedGamePotSdk()->cancelLocalPush(int /*添加推送时获取的pushId*/);

Last updated