GamePot Docs
  • Welcome
  • Getting Started
    • Quickstart
  • Basics
    • GamePot 2.0
      • (中文)
        • Console
          • 使用前
          • 使用 GAMEPOT
        • Dasboard
          • 创建项目和仪表盘
          • 访问仪表盘
          • 转换为付费
          • 用户指标
          • 销售指标
          • 指标术语整理
          • 会员管理
          • 支付管理
          • 公告事项管理(Pro以上)
          • 维护和更新公告(Pro以上)
          • 发送消息
          • 优惠券管理(Pro以上)
          • 客户支持(Pro以上)
          • 游戏
          • 排行榜
          • 好友列表
          • 项目设置
          • 管理仪表盘用户
          • 仪表盘管理员功能
        • Unity SDK
          • Unity SDK_配置要求
          • Unity SDK_SDK安装及环境配置
          • Unity SDK_登录相关功能
          • Unity SDK_第三方账户关联
          • Unity SDK_支付功能
          • Unity SDK_SDK自主提供的登录UI
          • Unity SDK_优惠券功能
          • Unity SDK_推送功能
          • Unity SDK_显示公告事项图片的功能
          • Unity SDK_客户支持功能
          • Unity SDK_恶意使用支付取消的用户重新支付弹窗功能
          • Unity SDK_远程配置功能
          • Unity SDK_游戏日志传输功能
          • Unity SDK_确认AppStatus
          • Unity SDK_第三方SDK关联
          • Unity SDK_关联Firebase SDK时注意事项
          • Unity SDK_在Native环境下修改项目
        • Unreal SDK
          • 安装及环境配置
          • 登录相关功能
          • 第三方账户关联
          • 支付功能
          • 自主提供的登录UI
          • 优惠券功能
          • 推送功能
          • 显示公告事项图片的功能
          • 客户支持功能
          • 恶意使用支付取消的用户重新支付弹窗功能
          • 远程配置功能
          • 游戏日志传输功能
          • 第三方SDK关联
        • Android SDK
          • Android SDK_配置要求
          • Android SDK_安装SDK和配置环
          • Android SDK_登录相关功能
          • Android SDK_关联外部账户
          • Android SDK_支付功能
          • Android SDK_SDK自行提供的登录UI
          • Android SDK_优惠券功能
          • Android SDK_推送功能
          • Android SDK_公告事项图像显示功能
          • Android SDK_客户支持功能
          • Android SDK_维护及强制更新功能
          • Android SDK_远程配置功能
          • Android SDK_游戏日志传输功能
          • Android SDK_确认AppStatus
          • Android SDK_关联第三方SDK
        • iOS SDK
          • iOS SDK_配置要求
          • iOS SDK_安装及环境配置
          • iOS SDK_登录相关功能
          • iOS SDK_第三方账户关联
          • iOS SDK_支付功能
          • iOS SDK_自主提供的登录UI
          • iOS SDK_优惠券功能
          • iOS SDK_推送功能
          • iOS SDK_显示公告事项图片的功能
          • iOS SDK_客户支持功能
          • iOS SDK_维护及强制更新功能
          • iOS SDK_远程配置功能
          • iOS SDK_游戏日志传输功能
          • iOS SDK_确认AppStatus
          • iOS SDK_第三方SDK关联
        • Javascript SDK
          • JS SDK_安装及环境配置
          • JS SDK_重置
          • JS SDK_登录,退出
          • JS SDK_插件
        • Server API
          • 请求发放付费道具
          • Gamepot user ID verification(optional)
          • 外部支付
        • Open API
          • 查询用户
          • 查询用户停用
          • 设置用户停用
          • 查询每日访问者(DAU)
          • 查询新用户(NRU)
          • 查询同时访问者(CCU)
          • 查询支付
          • 查询取消支付
          • 查询支付销售统计
          • 查询角色
          • 查询一般优惠券的使用
          • 使用优惠券
          • 查询展示中的公告事项
          • 排名板
            • 排名板用户分数登录API
            • 导入排名板用户分数API
            • 使用特定搜索词获取分数API
            • 获取排名板信息和用户数的API
            • 用排名板查询用户分数的API
            • 删除登录排行板用户API
            • 排名板登录API
            • 排名板修改API
            • 排名板删除API
          • 好友管理
          • 提前预约参与
          • 提前预约验证码确认
          • 查询本人认证结果
        • Troubleshooting
          • 在64-bit环境下的构建过程中,尝试使用NAVER ID登录时发生崩溃(构建API 28以上的Android)
          • 上传Play Store APK时,会发出com.nhncorp.nelo2.android.util加密模式安全通知
          • 构建iOS时发生错误
          • Line i386 x86_64 IOS Archive上传问题
          • AdbrixRM i386 x86_64 iOS构建问题
          • 使用NAVER ID登录时出现的NaverThirdPartyLogin.framework i386 x86_64问题
          • Unity 2018.4.4以上、Unity 2019.2.0以上版本中的Android构建问题
          • (Unity)应用NAVER Lounge SDK(以NaverSDK Ver 1.1.1为例进行说明)
          • (Unity)应用GoogleMobileAds SDK(以GoogleMobileAds-v6.1.2为例进行说明)
          • (Unity)应用Appsflyer/Singular SDK(以appsflyer-v6.3.2为例进行说明)
          • (Unity)单独应用Firebase SDK时(以Firebase Unity 8.7.0为例进行说明)
          • 升级到android、targetsdkversion 31以上时,出现以下错误和应用无法安装的问题
          • 在Android OS 13设备上无法接收推送设置时
          • GAMEPOT SDK中收集的个人信息类型
          • (Unity) 使用Unity编辑选项中的minify时
        • FAQ
          • 无法登录!
          • 无法付款!
          • 未收到應用內項目列表
          • Adbrix Remaster
          • Naver Cafe
          • 服务推出
          • 推送
          • 应用签名
          • 用户ID迁移方法
          • 用户ID恢复
          • 仪表盘提前预约页面关联方法
          • 案例集
          • 版本 3.5.1 中的變更 - 由於安全問題,禁止使用此版本。
          • Ver Unity 2.1.1 To Ver Unity 2.1.2 Or New Version
          • android, targetsdkversion 升到31的时候
          • Gamepot v3.6.0 更新
      • NPUSH
        • FCM (Android)
        • APNs (iOS)
      • NPUSH (English)
        • FCM (Android)
        • APNs (iOS)
      • NPUSH (日本語)
        • FCM (Android)
        • APNs (iOS)
      • NPUSH (中文)
        • FCM (Android)
        • APNs (iOS)
    • GamePot 3.0
      • GAMEPOT 3.0 (KR)
        • GAMEPOT 사용
          • 실시간 통계
          • Apple App Store shared secret
          • Google Play Store API 인증
          • Unity SDK
          • Android SDK
          • iOS SDK
          • Javascript SDK
          • 스토어 환경 설정
            • Google Play Store 환경 설정
            • App Store Connect
            • ONE store
          • 로그인 인증 환경 설정
            • 구글 로그인
            • 애플 아이디 로그인
            • 페이스북 로그인
            • 스팀 로그인
          • 푸시
          • 고객센터
          • 사용자 통계
          • 동시 접속 사용자
          • 쿠폰
          • 플러그인
          • 게임팟 NPUSH 서비스 전환 및 푸시 서비스 변경 안내
          • 게임팟 스튜디오 ( 빌드 관리, 게임 런쳐 )
          • 로컬 푸시
          • 비속어 필터
      • GAMEPOT 3.0 (EN)
        • Using GAMEPOT
          • Real-Time Statistics
          • Apple App Store shared secret
          • Google Play Store API Authentication
          • Unity SDK
          • Android SDK
          • iOS SDK
          • Store Settings
            • Google Play Store Configuration
            • App Store Connect
            • ONE store
          • Login Authentication Settings
            • Google Login
            • Apple ID Login
            • Facebook Login
          • PUSH
          • Customer Support
          • User Statistics
          • Concurrent Users
          • Plugin
    • Interactive blocks
    • OpenAPI
    • Integrations
    • GamePot Console
      • 메인화면
      • 통합 대시보드
      • 대시보드
      • 분석
        • 사용자 분석
        • 매출 분석
      • 운영
        • 사용자
          • 목록
          • 일간 활성 사용자
          • 신규 등록 사용자
          • 동시 접속자
          • 이용정지
        • 구매
          • 목록
          • 앱 내 구매
          • 통계
          • 취소된 결제
          • 외부 결제
        • 점검 및 업데이트
          • 점검
          • 업데이트
        • 메시지
          • 푸시 알림
          • 문자 메시지
        • 쿠폰
          • 일반 쿠폰
          • 키워드 쿠폰
          • 쿠폰 사용량
        • 고객 지원
          • 대시보드
          • 고객 문의
          • 통계
          • 리뷰
          • 페이지
          • 설정
            • 일반
            • 규칙
            • 분류
            • 스타일링
            • 공지
            • FAQ
            • 정책 약관
            • 이메일 알림
        • 게임
          • 공지사항
          • 랭킹
          • 친구
          • 플레이어
          • 선물
          • 아이템
        • 게임 운영
          • 데이터 저장소
          • 원격 설정
          • 블랙리스트
      • 설정
        • 프로젝트 설정
        • 관리자
Powered by GitBook
On this page
  • 安装SDK
  • Android环境配置
  • 设置最低配置
  • 修改GamePot_Android_UPL.xml
  • 设置推送通知图标
  • iOS环境设置
  • 配置项目
  • 重置
  • 设置错误代码
  1. Basics
  2. GamePot 2.0
  3. (中文)
  4. Unreal SDK

安装及环境配置

安装GAMEPOT Unreal SDK后配置环境并关联GAMEPOT仪表盘和游戏,即可使用游戏开发所需的功能。

安装SDK

安装GAMEPOT Unreal SDK后,在Unreal中配置项目的方法如下。

  1. 请使用管理员账户登录仪表盘。

  2. 依次点击下载SDK > Unreal菜单后点击下载。

Android环境配置


如要使用GAMEPOT Unreal SDK开发基于Android的游戏,需设置所需环境。

设置最低配置

如要设置可安装及运行应用的最低配置,请使用下列代码。

minSdkVersion:API 17以上(Jelly Bean 4.2)

修改GamePot_Android_UPL.xml

如果为设置Android环境修改GamePot_Android_UPL.xml文件,在Unreal打开下载的$S(PluginDir)/GamePot_Android_UPL.xml文件后参考表的内容修改代码的输入值。

  • 不使用(optional)值时,请删除相应行。

值

概述

gamepot_project_id

由GAMEPOT发放的项目ID

gamepot_store

商店值(google、one或galaxy)

gamepot_app_title

应用标题(FCM)

gamepot_push_default_channel

已添加的默认渠道名称,请勿修改。

facebook_app_id

从Facebook控制台获取的应用ID

fb_login_protocol_scheme

从Facebook控制台获取的protocol scheme fb[app_id]

gamepot_naver_clientid

从NAVER开发人员控制台获取

gamepot_naver_secretid

从NAVER开发人员控制台获取

gamepot_line_channelid

从LINE开发人员控制台获取

gamepot_twitter_consumerkey

从Twitter开发人员控制台获取

gamepot_twitter_consumersecret

从Twitter开发人员控制台获取

gamepot_elsa_projectid

使用NAVER Cloud ELSA时项目ID

gamepot_region

注意!Game Pod儀表板生成區僅在新加坡輸入sg

gamepot_license_url

<buildGradleAdditions>
    <insert>
...
android {
    ...
    defaultConfig {
        ...
         resValue "string", "gamepot_project_id", ""                                      // required
         resValue "string", "gamepot_store", "google"                                   // required
         resValue "string", "gamepot_app_title","@string/app_name"           // required (fcm)
         resValue "string", "gamepot_push_default_channel","Default"        // required (fcm)
         resValue "string", "facebook_app_id", ""                                          // optional(Facebook)
         resValue "string", "fb_login_protocol_scheme", ""                          // optional(Facebook)
         resValue "string", "gamepot_naver_clientid", ""                              // optional(从NAVER开发人员控制台获取)
         resValue "string", "gamepot_naver_secretid", ""                             // optional(从NAVER开发人员控制台获取)
         resValue "string", "gamepot_line_channelid",""                              // optional(从LINE开发人员控制台获取)
         resValue "string", "gamepot_twitter_consumerkey", ""                  // optional(从Twitter开发人员控制台获取)
         resValue "string", "gamepot_twitter_consumersecret", ""              // optional(从Twitter开发人员控制台获取)
         resValue "string", "gamepot_elsa_projectid", ""                             // optional(NAVER Cloud ELSA项目ID)
    }
    ...
}
  </insert>
</buildGradleAdditions>

设置推送通知图标

可设置接收推送消息时要显示于通知栏的图标。如果不另行设置,则使用包含在SDK的默认图片,也可自行设置适合游戏的图标。

设置推送通知图标的方法如下。

  1. 如下在项目路径下分别创建res/drawable文件夹后,根据各大小添加图片文件。

文件夹名

长度

$S(PluginDir)/ThirdParty/Android/GamePotResources/res/drawable-mdpi/

24x24

$S(PluginDir)/ThirdParty/Android/GamePotResources/res/drawable-hdpi/

36x36

$S(PluginDir)/ThirdParty/Android/GamePotResources/res/drawable-xhdpi/

48x48

$S(PluginDir)/ThirdParty/Android/GamePotResources/res/drawable-xxhdpi/

72x72

$S(PluginDir)/ThirdParty/Android/GamePotResources/res/drawable-xxxhdpi/

96x96

  1. 将图片文件名变更为ic_stat_gamepot_small。

iOS环境设置


如要使用GAMEPOT Unreal SDK开发基于的iOS游戏,需设置所需环境。

Buildi版本代碼請以整數形態獨特增加的方式進行。

配置项目

为设置iOS环境,按以下方法配置项目。

  1. 将从Google Firebase控制台获取的GoogleService-Info.plist文件添加到Unreal项目中。

  2. 请参考表的内容在项目的GamePotConfig-Info.plist文件变更以下设置。

环境变量

概述

gamepot_project_id

由GAMEPOT发放的项目ID

gamepot_facebook_app_id

由Facebook获取的应用ID

gamepot_facebook_display_name

在Facebook上显示的名称

gamepot_google_app_id

GoogleService-Info文件的CLIENT_ID值

gamepot_google_url_schemes

GoogleService-Info文件的REVERSED_CLIENT_ID值

gamepot_naver_clientid

NAVER Client ID

gamepot_naver_secretid

NAVER Secret ID

gamepot_naver_urlscheme

NAVER URL Scheme

gamepot_line_channelid

LINE Channel ID

gamepot_line_url_schemes

LINE URL Scheme(line3rdp.{项目绑定ID})

gamepot_twitter_consumerkey

Twitter Consumer Key

gamepot_twitter_consumersecret

Twitter Consumer Secret

gamepot_elsa_projectid

使用NAVER Cloud ELSA时项目ID

gamepot_region

注意!Game Pod儀表板生成區僅在新加坡輸入sg

gamepot_license_url

  1. 请在项目设置iOS > Extra Plist Data > Additional Plist Data中,按照如下内容添加用户权限获取选项。

    • 使用GAMEPOT客户咨询UI时所需的权限

      <key>NSCameraUsageDescription</key>
      <string>$(PRODUCT_NAME) camera use.</string>
      <key>NSPhotoLibraryUsageDescription</key>
      <string>$(PRODUCT_NAME) photo library use.</string>
      <key>NSMicrophoneUsageDescription</key>
      <string>$(PRODUCT_NAME) Microphone use.</string>

    • 且为从用户获得IDFA值使用权限请求弹窗的情况

      <key>NSUserTrackingUsageDescription</key>
      <string>$(PRODUCT_NAME) This identifier will collect IDFA for advertising purposes.</string>
  2. 将GamePotResources.embeddedframework压缩为.zip后 添加到$S(PluginDir)/ThirdParty/iOS/GamePotResources.embeddedframework.zip的路径并进行构建。

重置


如要执行重置,在开始游戏时加载的第一个场景中使用的对象中添加以下代码。本指南以各示例文件为标准进行说明。

  • 重置示例1 - ASampleGameModeBase.h

        #include "GamePotSDKPluginModule.h"
    
    //(相应级别使用的)对GAMEPOT API的Callback Event Listener声明
    UCLASS()
    class GAMEPOTSDKSAMPLE_API ASampleGameModeBase : public AGameModeBase
    {
        ...   
       void OnLoginSuccess(FNUserInfo NUserInfo);
       void OnLoginCancel();
       void OnLoginFailure(FNError NError);
       void OnLoginMaintenance(FNAppStatus NAppStatus);
       void OnLoginNeedUpdate(FNAppStatus NAppStatus);
       void OnLoginExit();
       ...
    };

  • 重置示例2 - ASampleGameModeBase.cpp

    #include "ASampleGameModeBase.h"
    
    void ASampleGameModeBase::InitGame(const FString& MapName, const FString& Options, FString& ErrorMessage)
    {
        AGameModeBase::InitGame(MapName, Options, ErrorMessage);
    
         //(在报头声明的Event Listener)绑定至GamePotPluginModule的Callback Event Listener
         if (FGamePotSDKPluginModule::IsAvailable())
         {
             FGamePotSDKPluginModule::OnSdkLoginSuccess.AddUObject(this, &ASampleGameModeBase::OnLoginSuccess);
             FGamePotSDKPluginModule::OnSdkLoginCancel.AddUObject(this, &ASampleGameModeBase::OnLoginCancel);
             FGamePotSDKPluginModule::OnSdkLoginFailure.AddUObject(this, &ASampleGameModeBase::OnLoginFailure);
             FGamePotSDKPluginModule::OnSdkLoginMaintenance.AddUObject(this, &ASampleGameModeBase::OnLoginMaintenance);
             FGamePotSDKPluginModule::OnSdkLoginNeedUpdate.AddUObject(this, &ASampleGameModeBase::OnLoginNeedUpdate);
             FGamePotSDKPluginModule::OnSdkLoginExit.AddUObject(this, &ASampleGameModeBase::OnLoginExit);
    
             FGamePotSDKPluginModule::OnSdkLogoutSuccess.AddUObject(this, &ASampleGameModeBase::OnLogoutSuccess);
             FGamePotSDKPluginModule::OnSdkLogoutFailure.AddUObject(this, &ASampleGameModeBase::OnLogoutFailure);   
            ...
         }
    }
    
    void ASampleGameModeBase::OnLoginSuccess(FNUserInfo NUserInfo)
    {
        // Handling NUserInfo..
    }
    
    void ASampleGameModeBase::OnLoginCancel()
    {
    }
    
    void ASampleGameModeBase::OnLoginFailure(FNError NError)
    {
        // Handling NError Info..
    }

  • (绑定)Event Listener列表

       // 登录成功
        FOnSdkLoginSuccess OnSdkLoginSuccess(FNUserInfo NUserInfo);     
        // 取消登录
        FOnSdkLoginCancel OnSdkLoginCancel(); 
        // 登录失败
        FOnSdkLoginFailure OnSdkLoginFailure(FNError NError);   
        // 登录(维护)
        FOnSdkLoginMaintenance OnSdkLoginMaintenance(FNAppStatus NAppStatus);
        // 登录(更新)
        FOnSdkLoginNeedUpdate OnSdkLoginNeedUpdate(FNAppStatus NAppStatus);   
        // 关闭登录UI(使用showLoginWithUI时)
        FOnSdkLoginExit OnSdkLoginExit();         
        // (维护、更新时)应用结束
        FOnSdkAppClose OnSdkAppClose();   
    
        // 退出登录成功
        FOnSdkLogoutSuccess OnSdkLogoutSuccess();   
        // 退出登录失败
        FOnSdkLogoutFailure OnSdkLogoutFailure(FNError NError);      
    
        // showWebview关闭
        FOnWebviewClose OnSdkWebviewClose(FString msg);
    
        // 购买成功
        FOnSdkPurchaseSuccess OnSdkPurchaseSuccess(FNPurchaseInfo NPurchaseInfo);
        // 取消购买
        FOnSdkPurchaseCancel OnSdkPurchaseCancel();
        // 购买失败
        FOnSdkPurchaseFailure OnSdkPurchaseFailure(FNError NError);  
    
        // getPurchaseDetailListAsync成功
        FOnSdkPurchaseDetailListSuccess OnSdkPurchaseDetailListSuccess(TArray<FNPurchaseItem> Items);
        // getPurchaseDetailListAsync失败
        FOnSdkPurchaseDetailListFailure OnSdkPurchaseDetailListFailure(FNError NError);
    
        // createLinking成功
        FOnSdkCreateLinkingSuccess OnSdkCreateLinkingSuccess(FNUserInfo NUserInfo);
        // 取消createLinking
        FOnSdkCreateLinkingCancel OnSdkCreateLinkingCancel();
        // createLinking失败
        FOnSdkCreateLinkingFailure OnSdkCreateLinkingFailure(FNError NError);
    
        // deleteLinking成功
        FOnSdkDeleteLinkingSuccess OnSdkDeleteLinkingSuccess();
        // deleteLinking失败
        FOnSdkDeleteLinkingFailure OnSdkDeleteLinkingFailure(FNError NError);
    
        // 公告事项图片(showNotice、showEvent)点击操作后回调scheme
        FOnSdkReceiveScheme OnSdkReceiveScheme(FString scheme);
    
        // deleteMember成功
        FOnSdkDeleteMemberSuccess OnSdkDeleteMemberSuccess();
        // deleteMember失败
        FOnSdkDeleteMemberFailure OnSdkDeleteMemberFailure(FNError NError);
    
        // 优惠券(使用)成功
        FOnSdkCouponSuccess OnSdkCouponSuccess(FString msg);
        // 优惠券(使用)失败
        FOnSdkCouponFailure OnSdkCouponFailure(FNError NError);
    
        // showAgreeDialog(是否同意条款)更新成功
        FOnAgreeDialogSuccess OnSdkAgreeDialogSuccess(FNAgreeResultInfo NAgreeResultInfo);
        // showAgreeDialog(是否同意条款)更新失败
        FOnAgreeDialogFailure OnSdkAgreeDialogFailure(FNError NError);
    
        // setPush成功
        FOnPushSuccess OnSdkPushSuccess();
        // setPushAdStatus成功
        FOnPushAdSuccess OnSdkPushAdSuccess();
        // setPushNightStatus成功
        FOnPushNightSuccess OnSdkPushNightSuccess();
        // setPushStatus成功
        FOnPushStatusSuccess OnSdkPushStatusSuccess();
    
        // setPush失败
        FOnPushFailure OnSdkPushFailure(FNError NError);
        // setPushAdStatus失败
        FOnPushAdFailure OnSdkPushAdFailure(FNError NError);
        // setPushNightStatus失败
        FOnPushNightFailure OnSdkPushNightFailure(FNError NError);
        // setPushStatus失败
        FOnPushStatusFailure OnSdkPushStatusFailure(FNError NError);

设置错误代码


如要设置错误代码,请使用下列代码。

USTRUCT()
struct FNError
{
    //Detail Error code
    static const int CODE_UNKNOWN_ERROR = 0;                   // 未知错误
    static const int CODE_NOT_INITALIZE = 1;                   // 初始化失败
    static const int CODE_INVAILD_PARAM = 2;                   // 参数不正确时
    static const int CODE_MEMBERID_IS_EMPTY = 3;                   // 没有组成人员ID数据的情况
    static const int CODE_NOT_SIGNIN = 4;                   // 未登录的状态
    static const int CODE_NETWORK_MODULE_NOT_INIT = 3000;                // 网络模块未重置的情况
    static const int CODE_NETWORK_ERROR = 3001;                // 发生网络连接错误及超时时
    static const int CODE_SERVER_ERROR = 4000;                // 在server-side发生的错误
    static const int CODE_SERVER_HTTP_ERROR = 4001;                // http response code不成功时
    static const int CODE_SERVER_NETWORK_ERROR = 4002;                // 发生网络连接错误及超时时
    static const int CODE_SERVER_PARSING_ERROR = 4003;                // 解析从服务器接收的数据时发生错误
    static const int CODE_CHARGE_UNKNOWN_ERROR = 5000;                // 支付时发生未知错误并由商店传递错误的情况
    static const int CODE_CHARGE_PRODUCTID_EMPTY = 5001;                // 未输入product id的情况
    static const int CODE_CHARGE_PRODUCTID_WRONG = 5002;                // product id输入错误时
    static const int CODE_CHARGE_CONSUME_ERROR = 5003;                // consume出错

    UPROPERTY()
    int code;               // error Code

    UPROPERTY()
    FString message;        // error Message
}

PreviousUnreal SDKNext登录相关功能

Last updated 7 months ago

注意!僅當遊戲Pods Dashboard生成區域爲日本時,輸入

注意!僅當遊戲Pods Dashboard生成區域爲日本時,輸入

https://gamepot.apigw.ntruss.com/fw/jp-v1
https://gamepot.apigw.ntruss.com/fw/jp-v1