推送功能
可开启或关闭全部推送、夜间推送、广告推送功能,并可使用本地推送功能。 使用推送功能时,需将广告推送设置为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