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
  • 添加Dependencies及Bundle Resource
  • 添加并设置Information Property List
  • 添加Build Settings选项
  • 设置登录环境
  • Facebook登录环境
  • 设置Google Sign In、LINE、NAVER、Apple ID登录环境
  • 重置
  1. Basics
  2. GamePot 2.0
  3. (中文)
  4. iOS SDK

iOS SDK_安装及环境配置

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

GamePod SDK中的支援語言如下。

  • 英語、意大利語、泰語、越南語、日語、漢語(簡體/繁體)、印度尼西亞語、德語、西班牙語、法語和韓語

應用程序運行時,根據機器設備的語言,在SDK內標記爲支援語言,未支援語言用英語標記。需要添加想要應用於 xcode > on的語言。

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

安装SDK


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

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

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

  3. 运行Xcode后,开启游戏项目。

  4. 解压下载的SDK文件后,拖放至已创建的项目文件夹。

添加Dependencies及Bundle Resource


为使用SDK,如要在Xcode中按各类服务添加合适的Dependencies及Bundle Resource,请参考下表。

Service

Framework

Dependencies

Bundle Resource

基本(Base)

AFNetworking.framework

FirebaseAnalytics.framework

FirebaseCore.framework

FirebaseCoreDiagnostics.framework

FirebaseInstanceID.framework

FirebaseMessaging.framework

FirebaseNanoPB.framework

GamePot.framework

GoogleToolboxForMac.framework

nanopb.framework

Protobuf.framework

libz.tbd

WebKit.framework

UserNotifications.framework

GamePot.bundle

登录(Login)

Base

GamePotChannel.framework

Google Sign In

GamePotGoogleSignIn.framework

GoogleSignIn.framework

GoogleSignInDependencies.framework

Facebook

FBAEMKit.xcframework

FBSDKCoreKit_Basics.xcframework

FBSDKCoreKit.xcframework

FBSDKLoginKit.xcframework

GamePotFacebook.framework

LINE

GamePotLine.framework

LineSDK.framework

LineSDKObjC.framework

NAVER

GamePotNaver.framework

NaverThirdPartyLogin.framework

Google Sign In

AuthenticationServices.framework

LocalAuthentication.framework

Facebook

SafariServices.framework

LINE

SafariServices.framework

Google Sign In

GoogleSignIn.bundle

GameCenter

GamePotGameCenter.framework

AppleID

GamePotApple.framework

添加并设置Information Property List


为使用SDK需将Information Property List添加到Xcode后进行设置。

由于GAMEPOT iOS SDK使用Google Firebase,因此除了包含SDK默认值的Information Property List以外,同时要在项目中添加从Firebase控制台获取的Information Property List。

添加并设置Information Property List的方法如下。

  1. 将下载的SDK文件中包含的GamePotConfig-Info.plist文件添加到项目中。

    • 如果相应文件不存在,请使用相同的名称创建文件后输入密钥对应的值。

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

  3. 在Xcode添加的GamePotConfig-Info.plist中变更以下设置。

    • gamepot_project_id:GAMEPOT项目ID

    • gamepot_elsa_projectid:(可选) GAMEPOT日志项目ID

  4. 依次点击Targets > Info > Custom iOS Target Properties菜单后,添加以下用户权限获取选项。

    • 该用户权限在GAMEPOT客服中心内的文件上传功能中使用。 NSCameraUsageDescription, NSPhotoLibraryUsageDescription, NSMicrophoneUsageDescription

      • 从iOS 14版本开始,改成了获取IDFA值时必须向用户请求权限才能获取IDFA值。 因此,为了在获取IDFA值时使用向用户请求权限的弹窗, 请在Targets >> Info >> Custom iOS Target Properties中添加以下用户权限获取选项。 (必须添加关于收集目的与使用地点的说明。) NSUserTrackingUsageDescription

  5. 仅当GamePod仪表板生成区域为新加坡时,请添加以下设置。

    • gamepot_region: sg

  6. 仅当GamePod仪表板生成区域为日本时,请添加以下设置。

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

添加Build Settings选项


为使用SDK需在Xcode Build Settings添加-ObjC -lz -lstdc++ -lc++选项。

如要添加选项,在Xcode依次点击Build Settings > Linking > Other Linker Flags菜单后添加-ObjC -lz -lstdc++ -lc++选项。

设置登录环境


如要设置第三方账户的登录环境,需在Xcode项目添加合适的设置。

Facebook登录环境

Facebook登录环境的设置方法如下。

  1. 在Facebook for Developers控制台将应用类型选择为None、Consumer或Gaming后创建应用。

  2. 将Facebook App ID值以"fb{Facebook App ID}"格式添加到Xcode的Info > URL Types菜单(例:fb561593141718906)。

  3. 依次点击Info > iOS Target Property菜单后,在LSApplicationQueriesSchemes添加以下设置。

    • fbapi, fb-messenger-share-api, fbauth2, fbshareextension, fb-messenger-api

  4. 在GamePotConfig-Info.plist变更以下设置。

    • gamepot_facebook_app_id: Facebook App ID

    • gamepot_facebook_display_name: Facebook display name

    • gamepot_facebook_client_token: // Facebook 控制檯 > 應用程序 > 設置 > 高級設置 > 客戶端代幣


设置Google Sign In、LINE、NAVER、Apple ID登录环境

如要设置第三方账户的登录环境,需在Xcode项目中添加以下设置。

  • Google Sign In

    • 复制GoogleService-Info.plist文件的REVERSED_CLIENT_ID值,在Xcode依次点击Info > URL Types菜单后添加项目,并在URL Schemes进行输入

    • 在GamePotConfig-Info.plist变更以下设置 gamepot_google_app_id:GoogleService-Info.plist文件的CLIENT_ID值 gamepot_google_url_schemes:GoogleService-Info.plist文件的REVERSED_CLIENT_ID值

  • LINE

    • 在GamePotConfig-Info.plist变更以下设置 gamepot_line_channelid: Line Channel ID gamepot_line_url_schemes:LINE URL Scheme(line3rdp.{项目绑定ID})

      • 依次点击Info > iOS Target Property菜单后,在LSApplicationQueriesSchemes添加以下设置。 lineauth2

  • NAVER

    • 在GamePotConfig-Info.plist变更以下设置 gamepot_naver_clientid: Naver Client Id gamepot_naver_secretid: Naver Secret Id gamepot_naver_urlscheme: Naver URL Scheme

    • 在Info > iOS Target Property 菜单的LSApplicationQueriesSchemes添加以下设置 naversearchapp, naversearchthirdlogin, navercafe

    • 在Info > URL Types 菜单添加与gamepot_naver_urlscheme相同的值

  • Apple ID

    • 选择Target后在Signing & Capabilities菜单添加Sign In with Apple Capability

重置


如要执行重置,在AppDelegate文件使用以下代码。

#import <GamePot/GamePot.h>

#if __has_include(<AppTrackingTransparency/AppTrackingTransparency.h>)
#import <AppTrackingTransparency/AppTrackingTransparency.h>
#endif


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    ...
    // GamePot SDK Initialize
    [[GamePot getInstance] setup];

    // Push Permission
    if(SYSTEM_VERSION_GRATERTHAN_OR_EQUALTO(@"10.0"))
    {
        UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
        center.delegate = self;
        [center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error){
            if(!error){
                dispatch_async(dispatch_get_main_queue(), ^{
                    [[UIApplication sharedApplication] registerForRemoteNotifications];
                });
            }
        }];
    }
    else
    {
        // Code for old versions
        UIUserNotificationType allNotificationTypes = (UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge);
        UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:allNotificationTypes categories:nil];
        [application registerUserNotificationSettings:settings];
        [application registerForRemoteNotifications];
    }

// 为在iOS 14版本导入IDFA值,调用权限请求弹窗
// 项目中未添加AppTrackingTransparency.framework时,无法调用。
#if __has_include(<AppTrackingTransparency/AppTrackingTransparency.h>)
   if (@available(iOS 14, *)) {
       if(NSClassFromString(@"ATTrackingManager"))
       {
           // 没有注册侦听器时,不会弹出请求弹窗。
           [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {

               switch (status)
               {
                   case ATTrackingManagerAuthorizationStatusNotDetermined:
                       break;
                   case ATTrackingManagerAuthorizationStatusRestricted:
                       break;
                   case ATTrackingManagerAuthorizationStatusDenied:
                       break;
                   case ATTrackingManagerAuthorizationStatusAuthorized:
                       break;
                   default:
                       break;
               }
           }];
       }
   }
#endif
    ...
}

 // Push
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
    ...
    [[GamePot getInstance] handleRemoteNotificationsWithDeviceToken:deviceToken];
    ...
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    [[GamePotChat getInstance] start];
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
    [[GamePotChat getInstance] stop];
}
PreviousiOS SDK_配置要求NextiOS SDK_登录相关功能

Last updated 7 months ago

如果已完成添加,即可设置Facebook登录环境。

如果已完成添加,即可设置第三方账户的登录环境。

Dependencies
Dependencies