PLUG UNITY適用ガイド
Quick Start
最新バージョンダウンロード
1. プロジェクト設定
PLUG SDKを使用する場合は、Unityで次のように開発環境を設定します。
UnityのメニューでAsset > Import packageをクリックした後、Custom PackageダイアログボックスでダウンロードしたNaverCafeSDK-x.x.x.unityPackageファイルを選択します。
Custom PackageダイアログボックスでImportをクリックすると、NCSDKフォルダとPluginsフォルダが生成されます。
NCSDKフォルダのSampleフォルダにあるNCSDK.Prefabsを希望するシーンにドラッグ&ドロップします。PLUGで基本として提供するボタンが生成されます。
NCSDKフォルダのScriptsフォルダにあるGLinkConfigファイルに、Cafe IDとクライアントID、クライアントシークレットを入力します。
PLUG SDK実行ボタンは、開発の便宜上PLUG SDKが基本として提供するボタンであり、自分で作成してもOKです。SampleBehaviour.csファイルにサンプルコードが作成されています。
OS別のPLUG SDKに関する詳細は、GitHubリポジトリをご参照ください。
2. 初期化
PLUG SDKが対応する言語に応じて、次のようにPLUG SDKを初期化します。
2.1 PLUG SDK初期化(韓国語のみ対応 - NAVER Cafe)
韓国語のみ対応しているPLUG SDKを初期化する時は、初期化情報を設定し、スクリプトファイルで外国語対応に関する項目を注釈で処理します。
NCSDKフォルダのScriptsフォルダにあるGLinkConfig.csファイルに、次のように初期化情報を設定します。
NaverLoginClientId: NAVER IDでログイン開発者センターにてアプリケーションを登録し、受け取ったクライアントID
NaverLoginClientSecret: NAVER IDでログイン開発者センターにてアプリケーションを登録し、受け取ったクライアントシークレット
CafeId: NAVER Cafeでカフェを開設し、受け取ったCafe ID
NCSDKフォルダのScriptフォルダにあるOS別のスクリプトファイルで、外国語対応に関する項目を注釈で処理します。
Android用スクリプトファイルのGlinkAndroid.csファイルで、次の項目を注釈で処理します。
iOS用スクリプトファイルのGlinkiOS.csファイルで、次の項目を注釈で処理します。
2.2 PLUG SDK初期化(外国語のみ対応)
外国語のみ対応しているPLUG SDKを初期化する時は、初期化情報を設定し、スクリプトファイルで注釈として処理された外国語対応に関する項目の注釈を解除します。
NCSDKフォルダのScriptsフォルダにあるGLinkConfig.csファイルに、次のように初期化情報を設定します。
NeoIdConsumerKey: コミュニティを開設して受け取ったコンシューマーキー(Consumer Key)
CommunityId: • コミュニティを開設して受け取ったコミュニティID(Community ID)
NCSDKフォルダのScriptフォルダにあるOS別のスクリプトファイルで、注釈として処理された外国語対応項目の注釈を解除します。
Android用スクリプトファイルのGlinkAndroid.csファイルで、次の項目の注釈を解除します。
iOS用スクリプトファイルのGlinkiOS.csファイルで、次の項目を注釈で処理します。
3. PLUG SDK開始
初期化が完了したら、PLUG SDKを実行します。
GLink.csファイルはPLUG SDKを制御するメソッドのあるスクリプトファイルです。
3.1 executeHome()メソッド
executeHome()メソッドPLUGを始めるメソッドです。
3.2 executeArticlePost()メソッド
executeArticlePost()メソッドは、掲示板の投稿画面を表示するメソッドです。掲示板IDをパラメータで伝達します。
4. iOSの追加設定
iOS用ゲームを開発する時には、次のような事項を追加で設定する必要があります。
4.1 縦画面モード設定
縦画面モードでプレイするゲームを開発する時は、NCSDK/Plugins/iOSフォルダにあるNCSDKUnityManager.mmファイルで、NCSDKManager.setOrientationIsLandscapeプロパティをNOに設定します。
4.2 .bundleファイルリンク
Unity 5.4.0f3バージョン以上では、iOS用のアプリケーションをビルドする時に、.bundleファイルがリンクされないように設定されています。NaverAuth.bundleファイルとNaverCafeSDK.bundleファイルをリンクするように、次のようにSelect for pluginでiOSを選択する必要があります。
4.3 Xcodeの設定
XCodeで次のように開発環境を設定します。.
Build SettingsのOther Linker Flagsに -ObjCオプションを追加します。
Build PhasesのLink Binary With Librariesに次のライブラリを追加します。追加したライブラリのStatusはRequiredに設定します。
MobileCoreServices.framework
SystemConfiguration.framework
MediaPlayer.framework
AVFoundation.framework
CoreMedia.framework
AssetsLibrary.framework
Security.framework
ImageIO.framework
QuartzCore.framework
ReplayKit.framework(ライブラリのStatusはOptionalに設定します。)
SafariServices.framework
Webkit.framework
グローバルコミュニティと韓国内NAVER Cafeに対応するPLUGの初期化
グローバルコミュニティと韓国内NAVER Cafeにすべて対応する時は、GLinkConfig.csファイルに次のように初期化情報を設定します。
NaverLoginClientId: NAVER IDでログイン開発者センターにてアプリケーションを登録し、受け取ったクライアントID
NaverLoginClientSecret: NAVER IDでログイン開発者センターにてアプリケーションを登録し、受け取ったクライアントシークレット
CafeId: NAVER Cafeでカフェを開設し、受け取ったCafe ID
ConsumerKey: コミュニティを開設して受け取ったコンシューマーキー
ConsumerSecureKey: コミュニティを開設して受け取ったシークレットキー
Android
グローバルコミュニティと韓国内NAVER Cafeの情報を初期化するように、Android用スクリプトファイルのGlinkAndroid.csファイルで次の項目の注釈を解除します。
iOS
グローバルコミュニティと韓国内NAVER Cafeの情報を初期化するように、iOS用スクリプトファイルのGlinkiOS.csファイルで次の項目の注釈を解除します。.
PLUGの開始と終了
PLUGを特定のタブが選択された状態で開始、または終了します。
executeHome()メソッド
ホームタブが選択された状態でPLUGを始めます。
次の例はexecuteHome()メソッドを実装した例です。
executeArticle()メソッド
掲示板タブに特定の投稿が見える状態でPLUGを始めます。
次の例はexecuteArticle()メソッドを実装した例です。
横画面モード、縦画面モード
PLUGは横画面モードと縦画面モードのどちらも対応しています。
Android
Android環境では別途で設定をしなくても、画面の向きに合わせて、横画面モード、縦画面モードが自動で適用されます。
iOS
iOS環境ではsetOrientationIsLandscape: メソッドで縦画面モードと横画面モードを適用します。
次の例はPLUGを横画面モードで実行した例です。
次の例はPLUGを縦画面モードで実行した例です。
透明度調節
PLUG画面の左上の透明度調節スライダーで透明度を調節すると、ゲームとカフェを同時に使用できます。
Android
Android環境で透明度の調節スライダーの使用の有無は、setTransparentable()メソッドで設定します。
isTransparentableパラメータ値をtrueに設定すると、透明度調節スライダーを使用できます(既定値:true)。 次の例は、透明度調節スライダーを使用するように実装した例です。
iOS
iOS環境で透明度調節スライダーの使用の有無は、disableTransparentSlider:メソッドで設定します。
disableパラメータの値をYESで設定すると、透明度調節スライダーを使用できます(既定値:YES)。
次の例は、透明度調節スライダーを使用するように実装した例です。
次の例は、透明度調節スライダーを使用しないように実装した例です。
ウィジェット
ウィジェットは、PLUGの折り畳みボタンをタップすると自動で画面に表示される要素です。ウィジェットでゲーム内のどこでもPLUGを利用できます。
ウィジェットの表示
PLUGの折り畳みボタンをタップした時に、ウィジェットを表示するかは、setShowWidgetWhenUnloadSDK()メソッドで設定します。
useWidgetパラメータの値をtrueに設定すると、PLUGウィンドウを折り畳む時にウィジェットが表示されます(既定値:true)。
次の例はウィジェットが表示されるように実装した例です。
ウィジェット実行
ウィジェットを実行する場合は、startWidget()メソッドを使用します。
次の例は、ウィジェットを実行した例です。
ウィジェットを閉じる
ウィジェットを閉じる場合は、stopWidget()メソッドを使用します。
次の例は、ウィジェットを強制的に閉じる例です。
ウィジェットの基本位置の設定
ウィジェットを最初に実行する時は、画面左の中央に表示されます。ウィジェットを最初に実行する時に表示される基本位置を設定する場合は、setWidgetStartPosition()メソッドを使用します。
ただし、ユーザーがウィジェットを移動した後、ウィジェットが再び実行される時は、ユーザーが移動した最後の位置にウィジェットが表示されます。
次の例は、ウィジェットの基本位置を画面右側、上から20%の位置に設定した例です。
画面キャプチャ
ウィジェットの画面キャプチャボタンをタップすると、ゲーム画面をキャプチャできます。
画面キャプチャボタン
画面キャプチャボタンをタップした時に画面をキャプチャする機能は、ウィジェットの画面キャプチャボタンのクリックリスナーを登録して実装します。
Android
Android環境では、次のようなコールバック関数で画面キャプチャボタンのクリックリスナーを登録します。
次の例は、Android用スクリプトファイルのGlinkAndroid.csファイルに画面キャプチャボタンのクリックリスナーを実装した例です。
iOS
iOS環境では、iOS用スクリプトファイルのGlinkiOS.csファイルに、次の例のように画面キャプチャボタンのクリックリスナーを実装します。
画面キャプチャの使用設定
setUseWidgetScreenShot()メソッドで、画面キャプチャ機能の使用の有無を設定します。
useScreenShotパラメータの値をtrueに設定すると、ウィジェットに画面キャプチャボタンが表示されます(既定値:true)。
次の例は、画面キャプチャ機能を使用しないように実装した例です。
動画録画
動画録画ボタンをタップすると、ゲーム中にゲーム画面を録画できます。
動画録画機能は、Android 5.0以上のデバイスから対応しています。
動画録画機能は、iOS 9.0以上のデバイスから対応しています。
ウィジェットの動画録画機能の使用
ウィジェットの動画録画ボタンをタップすると、ゲーム中にゲーム画面を録画できます。
動画録画の使用設定
setUseWidgetVideoRecord()メソッドで、動画録画機能の使用の有無を設定します。
useVideoRecordパラメータの値をtrueに設定すると、ウィジェットに動画録画ボタンが表示されます(既定値:false)。
Android 5.0未満のデバイスと、iOS 9.0未満のデバイスでは、useVideoRecordパラメータの値をtrueに設定しても、ウィジェットに動画録画ボタンが表示されません。 次の例は、動画録画機能を使用するように実装した例です。
録画完了コールバックリスナー
動画録画が完了した時に、処理する作業はコールバックリスナーを登録して実装します。
Android
Android環境では、次のようなコールバック関数で録画完了クリックリスナーを登録します。
次の例は、Android用スクリプトファイルのGlinkAndroid.csファイルに録画完了リスナーを実装した例です。
iOS
iOS環境では、ncSDKWidgetSuccessVideoRecordメソッドに録画完了リスナーを登録します。
次の例は、録画完了リスナーを実装した例です。
ゲームの動画録画機能の使用
ゲーム開発会社で動画録画ボタンを実装し、ゲーム画面を録画できます。
動画録画の開始と終了
動画録画を開始する場合は、startRecord()メソッドを使用します。
動画録画を終了する場合は、stopRecord()メソッドを使用します。
動画録画コールバックリスナー
ゲーム開発会社のボタンで、動画を録画する時に発生するイベントを処理する作業は、コールバックリスナーを登録して実装します。
Android
動画録画機能を実装した、スクリプトファイルのGLinkRecord.csで提供するAndroid用コールバックリスナーは、次のとおりです。
iOS
動画録画機能を実装した、スクリプトファイルのGLinkRecord.csで提供するiOS用コールバックリスナーは、次のとおりです。
App Scheme 処理
ゲームでPLUGのホーム画面に表示されるバナー画像をタップすると、App Schemeに移動してゲーム機能を実行させることができます。
App Schemeに移動するバナー画像は、カフェの管理メニューで登録します。
Android
Android環境でApp Schemeに移動するバナー画像にタッチイベントが起こった時、App Schemeを処理する機能を実装する場合は、Android用スクリプトファイルのGlinkAndroid.csファイルに次のようにリスナーを設定します。
iOS
iOS環境でApp Schemeに移動するバナー画像にタッチイベントが起こった時、App Schemeを処理する機能を実装する場合は、iOS用スクリプトファイルのGLinkiOS.csファイルに次のようにリスナーを設定します。
ゲームIDの連携
ユーザーのゲームIDとCafe IDを連携して管理できます。連携したゲームIDとCafe IDのリストは、カフェの管理メニューから確認できます。 ゲームIDをCafe IDと連携する場合は、syncGameUserId()メソッドを使用します。
次の例は、ゲームIDとCafe IDを連携する例です。
次の例は、ゲームIDとCafe IDを連携する例です。
テーマカラー変更
PLUGのテーマカラーを変更できます。
テーマカラーを変更する場合は、setThemeColor()メソッドを使用します。
themeColorCSSString: テーマで基本的に使用する色(既定値:#00c73c)
backgroundCSSString: タブメニューの背景色(既定値:#44484e)既定値を使用することを推奨します。
注意 CSSカラー値にアルファ値を入れてはいけません。
正しい例: #ff9800
間違った例: #e2ff9800
次の例は、テーマカラーを変更する例です。
リソース画像変更
NAVER CafeのPLUGライブラリに含まれたリソース画像を変更できます。
Android
Android環境でNAVER CafeのPLUGライブラリに含まれたリソース画像は、次のように変更できます。
NAVER CafeのPLUGライブラリファイル(.aarファイル)の圧縮を解凍します。
圧縮を解凍したフォルダの/res/drawable-xhdpiフォルダにある画像をお好きな画像に変更します。
圧縮を解凍したフォルダを再びライブラリファイル(.aarファイル)に圧縮します。
新しく圧縮したNAVER CafeのPLUGライブラリを適用し、プロジェクトをビルドします。
注意 画像を変更する時に、画像のサイズは既存の画像と同じ物を使用してください。
iOS
iOS環境でNAVER CafeのPLUGライブラリに含まれたリソース画像は、次のように変更できます。
NaverCafeSDK.bundleパッケージにある画像をお好きな画像に変更します。
修正したパッケージをNAVER CafeのPLUGライブラリに適用し、プロジェクトをビルドします。
注意 画像を変更する時に、画像のサイズは既存の画像と同じ物を使用してください。
NAVERログイン
アプリケーションで、NAVER IDでログイン機能を使用します。
NAVERログイン機能は、GLinkNaverId.csファイルを使用します。
init()メソッド
次の初期化情報で、NAVER機能を初期化します。
NAVER IDでログイン開発者センターにてアプリケーションを登録し、受け取ったクライアントID
NAVER IDでログイン開発者センターにてアプリケーションを登録し、受け取ったクライアントシークレット
次の例は、NAVERログイン機能を初期化した例です。
login()メソッド
NaverIDでログインします。
ログイン完了後、リスナーが呼び出されます。
Android
次の例は、Android環境でログイン完了後に呼び出されるリスナーの例です。
iOS
次の例は、iOS環境でログイン完了後に呼び出されるリスナーの例です。
logout() メソッド
ログアウトします。
isLogin() メソッド
ログインした状態か確認します。
getProfile() メソッド
ログインしたユーザーの基本情報(メールアドレス、ニックネーム、プロフィール写真、誕生日、年齢層)を照会します。
照会する情報は、リスナーを登録して設定します。
Android
次の例は、Android環境でユーザーの基本情報を照会するリスナーの例です。
iOS
次の例は、iOS環境でユーザーの基本情報を照会するリスナーの例です。
Last updated