Game > Gamebase > iOS SDK ご利用ガイド > はじめる

Environments

[INFO]

要件

  • ユーザー実行環境:iOS 9以上
  • ビルド環境:Xcode 12 (iOS 14 SDK)以上


[注意]

一部のIdPサポートをする時は下段3rd Party Gamebase Auth Adapters表内のSupport iOS Version項目を参考にしてください。 AppStoreでリリースする時には、必ずAppleバージョンポリシーを遵守する必要があります。

  • https://developer.apple.com/ios/submit/

Setting

Gamebaseは、次のような方法で設定できます。

Download

Gamebase.framework.zip及び必要なadapterをダウンロードします。
また、各IdPの認証をするためのSDKファイルをダウンロードする必要があります。該当するIdPのログインを使用するときにだけ含めれば問題ありません。
ダウンロードした後、該当するSDKファイルをプロジェクトのtargetに含めなければなりません。

Gamebase iOS SDK Components

Gamebase SDK Gamebase Auth Adapter External(iOS) SDK & Compatible Version Usage Support iOS Version
Gamebase Gamebase.framework
Gamebase.bundle
ToastSDK 0.29.0 GamebaseのInterfaceおよびコアロジックを含む iOS9 or later
Gamebase Auth Adapters GamebaseAuthFacebookAdapter.framework FacebookSDK v9.2.0 Facebookログインをサポート iOS9 or later
GamebaseAuthPaycoAdapter.framework PaycoID Login 3rd SDK v1.5.2 Paycoログインをサポート iOS9 or later
GamebaseAuthNaverAdapter.framework naveridlogin-sdk-ios-4.1.1 Naverログインをサポート iOS9 or later
GamebaseAuthGamecenterAdapter.framework GameKit.framework Gamecenterログインをサポート iOS9 or later
GamebaseAuthGoogleAdapter.framework Googleログインをサポート iOS9 or later
GamebaseAuthTwitterAdapter.framework Twitterログインをサポート iOS9 or later
GamebaseAuthLineAdapter.framework LineSDK v5.0.1 LINEログインをサポート iOS10 or later
GamebaseAuthAppleidAdapter.framework Sign In with Apple iOS9 or later
arm64サポート
GamebaseAuthHangameAdapter.framework HangameID SDK 1.6.1 Hangameログインをサポート iOS9 or later
GamebaseAuthWeiboAdapter.framework weibo_ios_sdk-3.2.7 Weiboログインをサポート iOS9 or later
GamebaseAuthKakaogameAdapter.framework KakaoGame 3.11.5 Kakaoログインをサポート iOS11 or later
Gamebase IAP GamebasePurchaseIAPAdapter.framework StoreKit.framework
ToastIAP 0.29.0
ToastGamebaseIAP 0.12.0
ゲーム内決済をサポート iOS9 or later
Gamebase Push GamebasePushAdapter.framework ToastPush 0.29.0 Pushをサポート iOS9 or later

[注意]

Sign In with Appleに必要なAuthenticationServices.frameworkを追加する場合は必ずOptionalに設定する必要があります。 Requiredに設定すると、iOS 11以下の端末では実行直後にクラッシュが発生します。

Gamebase SDK iOS 2.13.0以上では、iOS 9以上でSign In with Appleがサポートされ、追加でGamebase ConsoleにService IDを設定する必要があります。


[Caution]

Gamebase Frameworkファイルのうち、名前にAdapterが含まれているファイルは、選択してプロジェクト内で使用有無を決定することができ、使用しないAdapter Frameworkは削除することを推奨します。 該当Adapter Frameworkを使用するには、上の表に明示された外部SDKが必要な場合があります。 一部の認証Adapterの場合は、上の表にあるサポートするiOSバージョンに注意する必要があります。 (サポートバージョンがiOS 10以上のAuth Adpaterをビルドに含めると、iOS 9以下ではランタイムクラッシュが発生します。)


[INFO]

各IdPが提供する外部SDKに対する設定は、各IdPのガイドドキュメントをご参考ください。

Xcode Settings

解凍すると、次のようにGamebase.frameworkなどのSDKを確認することができます。

unzip gamebase

  • 1) FrameworkファイルをProjectのProject Navigatorにドラッグ・アンド・ドロップでimportします。このときに追加されたFrameworkファイルは、プロジェクトtargetに追加されなければなりません。
  • 2) Gamebase.bundleファイルもCopy Bundle Resourcesに追加します。 Gamebase.bundle Bundle Resources
  • 3) Gamebaseを使用するには、Gamebaseのframeworkの他に、Gamebaseで使用している外部SDKの機能を含めるために、複数のframeworkとlibraryファイルをlinkerから参照できるように追加する必要があります。以下の項目を追加する必要があります。
    • libicucore.tbd
    • libz.tbd
    • libsqlite3.tbd
    • libc++.tbd
    • AdSupport.framework
    • ImageIO.framework
    • GameKit.framework
    • StoreKit.framework
    • AuthenticationServices.framework (Optional)
    • AppTrackingTransparency.framework (Optional)

Link Binary With Libraries

  • 4) Gamebase iOS SDK 2.12.0以上を使用する場合、Facebook SDKがアップデートされたことに伴い、追加設定が必要です。
    • Accelerate.framework追加
    • プロジェクト内部に空のswiftファイル追加(プロジェクト内部にswiftファイルが1つもない場合)
  • 5) Target > Build Settings > Linking > Other Linker Flags-ObjCを追加する必要があります。 Other Linker Flags
  • 6) NaverAuthAdapterを使用する場合にはNaverSDKで提供するNaverThirdPartyLogin.frameworkファイルをTarget > General > Embedded Binariesに追加する必要があります。 Naver Embeded Binaries

[INFO]

Linkerに-ObjCオプション設定は、Static LibraryにあるすべてのObjective-C classとcategoryを読み込みます。
このオプションを設定しない場合、selector not recognizedのようなエラーがRuntime上で発生することがあります。


[注意]

  • Unity(2019.3以上)をビルドする場合、 Gamebase iOS SDKをUnityFrameworkターゲットにのみimportします。
  • Unityビルドを行うと、XcodeプロジェクトのターゲットにUnity-iPhoneUnityFrameworkが生じます。
  • 各ターゲットにGamebase iOS SDKを重複してimportすると、動作に問題が生じることがあるため、注意する必要があります。

CocoaPods Settings

Gamebase iOS SDKは、CocoaPodsを使用して設定できます。

  • 1) Xcodeを実行し、プロジェクトを作成します。
  • 2) Terminalを実行し、CocoaPodsを適用するプロジェクトのディレクトリに移動します。
  • 3) pod initコマンドを実行し、Podfileを作成します。
  • 4) 作成されたPodfileをエディタで開き、次のような内容を作成します。
platform :ios, '10.0'

target 'SampleApplication' do
    pod 'Gamebase'
    pod 'GamebaseAuthFacebookAdapter'
    pod 'GamebaseAuthGamecenterAdapter'
    pod 'GamebaseAuthPaycoAdapter'
    pod 'GamebaseAuthNaverAdapter'
    pod 'GamebaseAuthTwitterAdapter'
    pod 'GamebaseAuthGoogleAdapter'
    pod 'GamebaseAuthLineAdapter'
    pod 'GamebaseAuthAppleidAdapter'
    pod 'GamebaseAuthWeiboAdapter'
    pod 'GamebasePushAdapter'
    pod 'GamebasePurchaseIAPAdapter'

    # 次のモジュールの使用方法はサポートへお問い合わせください。
    pod 'GamebaseAuthHangameAdapter'
    pod 'GamebaseAuthKakaogameAdapter'
end

[参考]

target 'SampleApplication' do部分には作成したプロジェクトのターゲット名を入力します。
pod 'Gamebase', '2.6.0'のように入力して、特定バージョンを指定できます。それぞれのpodにバージョンを明示しない場合は最新バージョンが設定されます。
特定Adapterのみを任意で適用できます。

[注意]

Gamebase最新バージョンを使用しない場合、一部のAdapterを使用できないことがあります。

  • 5) Podfileの作成が完了したらpod installまたはpod updateコマンドを実行してGamebaseをインストールします。
  • 6)インストールが完了したらプロジェクト名.xcworkspaceファイルが作成されます。その後は作成されたxcworkspaceファイルを利用して開発を行います。

[参考]

詳細なCocoaPods使用方法は、CocoaPods GuideUsing CocoaPodsページを参照してください。

IdP Settings

[注意]

  • NHN Cloud Consoleで新しいプロジェクトを作成してGamebaseサービスが有効になっていることを必ず確認してください。
  • 各IdPのコンソールでClient IDを発行してGamebaseコンソールに入力していることを必ず確認してください。

Google

Payco

  • URL Schemeを設定する必要があります。
    • Xcode > Target > Info > URL Typestcgb.{Bundle ID}.paycoを追加する必要があります。

Twitter

  • URL Schemeを設定する必要があります。
    • Xcode > Target > Info > URL Typestcgb.{Bundle ID}.twitterを追加する必要があります。
  • TwitterのDeveloperサイトのApps > 対象プロジェクト > App Details > Callback URL項目を設定する必要があります。
    • tcgb.{Bundle ID}.twitter://を追加します。

Line

  • URL Schemeを設定する必要があります。

    • Xcode > Target > Info > URL Typesline3rdp.{App Bundle ID}を追加する必要があります。
  • Info.plistファイルを設定する必要があります。

    • LINEで発行されたChannelIDを設定します。 <key>LineSDKConfig</key> <dict> <key>ChannelID</key> <string>{Issued LINE ChannleID}</string> </dict>
    • ATS設定を行うためにSchemeを登録します。 <key>LSApplicationQueriesSchemes</key> <array> <string>lineauth</string> <string>line3rdp.{App Bundle ID}</string> </array>
  • LINE Loginを使用するためのプロジェクト設定は次のリンクを参照します。(認証必要)
  • LINK [LINE Developer Guide]

Weibo

IdP Settings (Legacy)

Google

  • Gamebase iOS SDK 1.12.1以下
    • NHN Cloud Console > Gamebase > App > 認証情報 > 追加情報& Callback URL追加情報項目にJSON string形式の情報を設定する必要があります。
      • Googleの場合、iOSアプリで必要な情報url_scheme_ios_onlyの設定が必要です。
      • url_scheme_ios_onlyの値はXcodeのURL Schemeに登録された値のいずれか1つと一致する必要があります。
    • URL Schemeを設定する必要があります。
      • Xcode > Target > Info > URL Types
  • Google追加認証情報の入力例
{ "url_scheme_ios_only": "Your URL Scheme" }

gamebase_auth_google_console_01

Naver

  • Gamebase iOS SDK 1.12.1以下
    • NHN Cloud Console > Gamebase > App > 認証情報 > 追加情報& Callback URL追加情報項目にJSON String形式の情報を設定する必要があります。
      • NAVERの場合、ログイン同意ウィンドウに表示するアプリ名であるservice_nameを設定する必要があります。
      • iOSアプリで必要な情報であるurl_scheme_ios_onlyを追加で設定する必要があります。
    • URL Schemeを設定する必要があります。
      • Xcode > Target > Info > URL Types
  • Naver追加認証情報の入力例
{ "url_scheme_ios_only": "Your URL Scheme", "service_name": "Your Service Name" }

gamebase_auth_naver_console_01

3rd-Party Provider SDK Guide

API Reference

SDKの中に含まれています。

API Deprecate Governance

GamebaseでサポートしないAPIは、使用していないもの(deprecate)として処理します。 使用していない(deprecated) APIは、次の条件を満たす場合、事前告知を行わずに削除されることがあります。

  • 5回以上のマイナーバージョンアップデート

    • Gamebase Version Format - XX.YY.ZZ
      • XX:Major
      • YY:Minor
      • ZZ:Hotfix
  • 最低5ヶ月経過

TOP