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

Environments

[INFO]

要件

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


[注意]

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

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

Setting

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

Download

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

Gamebase iOS SDK Components

Gamebase SDK Gamebase Auth Adapter External SDK & Compatible Version 用途 Support iOS Version
Gamebase Gamebase.xcframework
Gamebase.bundle
NHNCloudSDK 1.8.4 GamebaseのInterfaceおよびコアロジックを含む iOS 12以上
Gamebase Auth Adapters GamebaseAuthFacebookAdapter.xcframework FacebookSDK 17.0.2 Facebookログインをサポート iOS 12以上
GamebaseAuthPaycoAdapter.xcframework PaycoID Login 3rd SDK v1.5.12 PAYCOログインをサポート iOS 12以上
GamebaseAuthNaverAdapter.xcframework naveridlogin-sdk-ios-4.2.3 NAVERログインをサポート iOS 12以上
GamebaseAuthGamecenterAdapter.xcframework GameKit.xcframework Gamecenterログインをサポート iOS 12以上
GamebaseAuthGoogleAdapter.xcframework GoogleSignIn 7.1.0 Googleログインをサポート iOS 12以上
GamebaseAuthTwitterAdapter.xcframework Twitterログインをサポート iOS 12以上
GamebaseAuthLineAdapter.xcframework LineSDK 5.11.0 LINEログインをサポート iOS 13以上
GamebaseAuthAppleidAdapter.xcframework Sign In with Apple iOS 12以上
arm64サポート
GamebaseAuthHangameAdapter.xcframework HangameID SDK 1.16.2 Hangameログインをサポート iOS 12以上
GamebaseAuthWeiboAdapter.xcframework weibo_ios_sdk-3.3.8 Weiboログインをサポート iOS 12以上
GamebaseAuthKakaogameAdapter.xcframework KakaoGame 3.19.0 Kakaoログインをサポート iOS 13以上
GamebaseAuthSteamAdapter.xcframework Steamログインをサポート iOS 14以上
Gamebase IAP Adapters GamebasePurchaseIAPAdapter.xcframework StoreKit.xcframework
NHNCloudIAP 1.8.4
ゲーム内決済をサポート iOS 12以上
Gamebase Push Adapters GamebasePushAdapter.xcframework NHNCloudPush 1.8.4 Pushをサポート iOS 12以上

[注意]

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


[Caution]

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


[INFO]

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

Xcode Settings

解凍すると、次のようにGamebase.xcframeworkなどの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
    • Security.framework
    • AuthenticationServices.framework
    • 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を使用する場合にはNAVER SDKで提供するNaverThirdPartyLogin.xcframeworkファイルをTarget > Build Phases > Embeded Frameworksに追加する必要があります。 Naver Embeded Frameworks
  • 7) LineAuthAdapterを使用する場合にはLINE SDKで提供する LineSDK.xcframeworkファイルを Target > Build Phases > Embeded Frameworksに追加する必要があります。 LINE Embeded Frameworks
  • 8) FacebookAuthAdapterを使用する場合にはFacebook SDKをTarget > Build Phases > Embeded Frameworksに追加する必要があります。 Facebook Embeded Frameworks
  • 9) PaycoAuthAdapterを使用する場合にはPAYCO SDKをTarget > Build Phases > Embeded Frameworksに追加する必要があります。 PAYCO Embeded Frameworks

[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, '12.0'

target 'SampleApplication' do
    use_frameworks!

    pod 'Gamebase'
    pod 'GamebaseAuthFacebookAdapter'
    pod 'GamebaseAuthGamecenterAdapter'
    pod 'GamebaseAuthPaycoAdapter'
    pod 'GamebaseAuthNaverAdapter'
    pod 'GamebaseAuthTwitterAdapter'
    pod 'GamebaseAuthGoogleAdapter'
    pod 'GamebaseAuthLineAdapter'
    pod 'GamebaseAuthAppleidAdapter'
    pod 'GamebaseAuthWeiboAdapter'
    pod 'GamebaseAuthSteamAdapter'
    pod 'GamebasePushAdapter'
    pod 'GamebasePurchaseIAPAdapter'

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

[参考]

target 'SampleApplication' do部分には作成したプロジェクトのターゲット名を入力します。
pod 'Gamebase', '2.48.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コンソールに入力していることを必ず確認してください。

Facebook

  • URL Schemeを設定する必要があります。
    • Xcode > Target > Info > URL Typesfb{Facebook開発者サイトに登録したアプリのApp ID}を追加する必要があります。
  • Info.plistファイルにSchemeを登録します。
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>fbapi</string>
    <string>fb-messenger-share-api</string>
</array>
  • Info.plistファイルにFacebookAppID、FacebookClientToken、FacebookDisplayNameを登録します。
<key>FacebookAppID</key>
<string>{FACEBOOK_APP_ID}</string>
<key>FacebookClientToken</key>
<string>{FACEBOOK_CLIENT_TOKEN}</string>
<key>FacebookDisplayName</key>
<string>{FACEBOOK_DISPLAY_NAME}</string>

Google

PAYCO

  • URL Schemeを設定する必要があります。
    • Xcode > Target > Info > URL Typestcgb.{Bundle ID}.paycoを追加する必要があります。
    • Xcode > Target > Info > URL Typespaycologinsdkを追加する必要があります。
  • URL Schemeを設定する必要があります。
    • Xcode > Target > Info > URL Typestcgb.{Bundle ID}.naverを追加する必要があります。
    • NAVER Developers > マイアプリケーション > API設定 > iOS > URL Schemetcgb.{Bundle ID}.naverを追加する必要があります。
  • Info.plistファイルでSchemeを登録します。
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>naversearchthirdlogin</string>
    <string>naversearchapp</string>
</array>

LINE

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

    • Xcode > Target > Info > URL Typesline3rdp.{Bundle ID}を追加する必要があります。
  • ATS設定を行うためにInfo.plistファイルにSchemeを登録します。

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>lineauth2</string>
</array>

Weibo

  • URL Schemeを設定する必要があります。
    • Xcode > Target > Info > URL Typeswb{Weibo開発者サイトに登録したアプリのApp Key}を追加する必要があります。
  • Info.plistファイルでSchemeを登録します。
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>sinaweibo</string>
    <string>weibosdk</string>
    <string>weibosdk2.5</string>
    <string>weibosdk3.3</string>
</array>

IdP Settings (Legacy)

Google

  • Gamebase iOS SDK 2.34.1以下
    • URL Schemeを設定する必要があります。
      • Xcode > Target > Info > URL Typestcgb.{Bundle ID}.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

LINE

  • Gamebase iOS SDK 2.42.2以下
    • LINEから発行されたChannelIDをInfo.plistファイルに設定する必要があります。
<key>LineSDKConfig</key>
<dict>
    <key>ChannelID</key>
    <string>{Issued LINE ChannleID}</string>
</dict>

Twitter

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

3rd-Party Provider SDK Guide

Sample App

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