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、クライアントシークレットを入力します。

//NCSDK/Scripts/GLinkConfig 
static class GLinkConfig
{
     public const string NaverLoginConsumerKey = "Consumer ID";
     public const string NaverLoginConsumerSecret = "Secret ID";
     public const int CafeId = 00000000;
}

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ファイルで、次の項目を注釈で処理します。

glinkClass.CallStatic ("initGlobal", currentActivity, GLinkConfig.ConsumerKey, GLinkConfig.ConsumerSecureKey, GLinkConfig.CommunityNo, GLinkConfig.LoungeNo);

iOS用スクリプトファイルのGlinkiOS.csファイルで、次の項目を注釈で処理します。

_InitGLinkForGlobal(GLinkConfig.ConsumerKey, GLinkConfig.ConsumerSecureKey, GLinkConfig.CommunityNo, GLinkConfig.LoungeNo);

2.2 PLUG SDK初期化(外国語のみ対応)

外国語のみ対応しているPLUG SDKを初期化する時は、初期化情報を設定し、スクリプトファイルで注釈として処理された外国語対応に関する項目の注釈を解除します。

NCSDKフォルダのScriptsフォルダにあるGLinkConfig.csファイルに、次のように初期化情報を設定します。

  • NeoIdConsumerKey: コミュニティを開設して受け取ったコンシューマーキー(Consumer Key)

  • CommunityId: • コミュニティを開設して受け取ったコミュニティID(Community ID)

NCSDKフォルダのScriptフォルダにあるOS別のスクリプトファイルで、注釈として処理された外国語対応項目の注釈を解除します。

Android用スクリプトファイルのGlinkAndroid.csファイルで、次の項目の注釈を解除します。

glinkClass.CallStatic ("initGlobal", currentActivity, GLinkConfig.ConsumerKey, GLinkConfig.ConsumerSecureKey, GLinkConfig.CommunityNo, GLinkConfig.LoungeNo);

iOS用スクリプトファイルのGlinkiOS.csファイルで、次の項目を注釈で処理します。

_InitGLinkForGlobal(GLinkConfig.ConsumerKey, GLinkConfig.ConsumerSecureKey, GLinkConfig.CommunityNo, GLinkConfig.LoungeNo);

3. PLUG SDK開始

初期化が完了したら、PLUG SDKを実行します。

GLink.csファイルはPLUG SDKを制御するメソッドのあるスクリプトファイルです。

3.1 executeHome()メソッド

executeHome()メソッドPLUGを始めるメソッドです。

GLink.sharedInstance().executeHome();

3.2 executeArticlePost()メソッド

executeArticlePost()メソッドは、掲示板の投稿画面を表示するメソッドです。掲示板IDをパラメータで伝達します。

GLink.sharedInstance().executeArticlePost("Content");

4. iOSの追加設定

iOS用ゲームを開発する時には、次のような事項を追加で設定する必要があります。

4.1 縦画面モード設定

縦画面モードでプレイするゲームを開発する時は、NCSDK/Plugins/iOSフォルダにあるNCSDKUnityManager.mmファイルで、NCSDKManager.setOrientationIsLandscapeプロパティをNOに設定します。

- (void)setGLRootViewController {
_mainViewcontroller = UnityGetGLViewController();

[[NCSDKManager getSharedInstance] setParentViewController:_mainViewcontroller];
[[NCSDKManager getSharedInstance] setNcSDKDelegate:self];
[[NCSDKManager getSharedInstance] setOrientationIsLandscape:NO];
}

4.2 .bundleファイルリンク

Unity 5.4.0f3バージョン以上では、iOS用のアプリケーションをビルドする時に、.bundleファイルがリンクされないように設定されています。NaverAuth.bundleファイルとNaverCafeSDK.bundleファイルをリンクするように、次のようにSelect for pluginでiOSを選択する必要があります。

4.3 Xcodeの設定

XCodeで次のように開発環境を設定します。.

  1. Build SettingsのOther Linker Flagsに -ObjCオプションを追加します。

  2. 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: コミュニティを開設して受け取ったシークレットキー

static class GLinkConfig
{
	public const string NaverLoginClientId = "197CymaStozo7X5r2qR5";
	public const string NaverLoginClientSecret = "evCgKH1kJL";
	public const int CafeId = 28290504;
	
	public const string ConsumerKey = "PLUGTESTKEY";
	public const string ConsumerSecureKey = "PLUGTESTSECRET";
	public const int CommunityNo = 1;
	public const int LoungeNo = 58;
}

Android

グローバルコミュニティと韓国内NAVER Cafeの情報を初期化するように、Android用スクリプトファイルのGlinkAndroid.csファイルで次の項目の注釈を解除します。

public GLinkAndroid () {
     ...
    glinkClass.CallStatic ("init", currentActivity, GLinkConfig.NaverLoginClientId, GLinkConfig.NaverLoginClientSecret, GLinkConfig.CafeId);
    glinkClass.CallStatic ("initGlobal", currentActivity, GLinkConfig.ConsumerKey, GLinkConfig.ConsumerSecureKey, GLinkConfig.CommunityNo, GLinkConfig.LoungeNo);
    ...
}

iOS

グローバルコミュニティと韓国内NAVER Cafeの情報を初期化するように、iOS用スクリプトファイルのGlinkiOS.csファイルで次の項目の注釈を解除します。.

public GLinkiOS () {
     ...
     _InitGLink(GLinkConfig.NaverLoginClientId, GLinkConfig.NaverLoginClientSecret, GLinkConfig.CafeId);
     _InitGLinkForGlobal(GLinkConfig.ConsumerKey, GLinkConfig.ConsumerSecureKey, GLinkConfig.CommunityNo, GLinkConfig.LoungeNo);
     ...
}

PLUGの開始と終了

PLUGを特定のタブが選択された状態で開始、または終了します。

executeHome()メソッド

ホームタブが選択された状態でPLUGを始めます。

public void executeHome()

次の例はexecuteHome()メソッドを実装した例です。

   /**
   * ホームタブで開始
   */
  Glink.sharedInstance().executeHome()

executeArticle()メソッド

掲示板タブに特定の投稿が見える状態でPLUGを始めます。

public void executeArticle(int articleId)

次の例はexecuteArticle()メソッドを実装した例です。

   /**
   * 「投稿を読む」で開始
   */
  Glink.sharedInstance().startArticle(121);

横画面モード、縦画面モード

PLUGは横画面モードと縦画面モードのどちらも対応しています。

Android

Android環境では別途で設定をしなくても、画面の向きに合わせて、横画面モード、縦画面モードが自動で適用されます。

iOS

iOS環境ではsetOrientationIsLandscape: メソッドで縦画面モードと横画面モードを適用します。

次の例はPLUGを横画面モードで実行した例です。

//既定値はYES
//横画面モード
[[NCSDKManager getSharedInstance] setOrientationIsLandscape:YES];

次の例はPLUGを縦画面モードで実行した例です。

//縦画面モード
[[NCSDKManager getSharedInstance] setOrientationIsLandscape:NO];

透明度調節

PLUG画面の左上の透明度調節スライダーで透明度を調節すると、ゲームとカフェを同時に使用できます。

Android

Android環境で透明度の調節スライダーの使用の有無は、setTransparentable()メソッドで設定します。

public static void setTransparentable(Activity activity, boolean isTransparentable)

isTransparentableパラメータ値をtrueに設定すると、透明度調節スライダーを使用できます(既定値:true)。 次の例は、透明度調節スライダーを使用するように実装した例です。

  /**
   * 透明度調節スライダーの使用の有無を設定します。   *
   * @param isTransparentable 透明度の調節の使用可否に対するboolean形式の値
   */
  Glink.setTransparentable(activity, true)

iOS

iOS環境で透明度調節スライダーの使用の有無は、disableTransparentSlider:メソッドで設定します。

(void)disableTransparentSlider:(BOOL)disable;

disableパラメータの値をYESで設定すると、透明度調節スライダーを使用できます(既定値:YES)。

次の例は、透明度調節スライダーを使用するように実装した例です。

/*
 透明度調節機能の削除
 default : YES */
//透明度機能の使用
[[NCSDKManager getSharedInstance] disableTransparentSlider:YES];

次の例は、透明度調節スライダーを使用しないように実装した例です。

//透明度機能の削除
[[NCSDKManager getSharedInstance] disableTransparentSlider:NO];

ウィジェット

ウィジェットは、PLUGの折り畳みボタンをタップすると自動で画面に表示される要素です。ウィジェットでゲーム内のどこでもPLUGを利用できます。

ウィジェットの表示

PLUGの折り畳みボタンをタップした時に、ウィジェットを表示するかは、setShowWidgetWhenUnloadSDK()メソッドで設定します。

void setShowWidgetWhenUnloadSDK(boolean useWidget)

useWidgetパラメータの値をtrueに設定すると、PLUGウィンドウを折り畳む時にウィジェットが表示されます(既定値:true)。

次の例はウィジェットが表示されるように実装した例です。

  /**
   * PLUGウィンドウを折り畳む時に、ウィジェットを表示するか決定します。
   *
   * @param useWidget ウィジェットの表示の有無に対するboolean形式の値
   */
  Glink.sharedInstance().setShowWidgetWhenUnloadSDK(true);

ウィジェット実行

ウィジェットを実行する場合は、startWidget()メソッドを使用します。

public static void startWidget()

次の例は、ウィジェットを実行した例です。

  /**
   * ウィジェットを実行します。
   */
  Glink.sharedInstance().startWidget();

ウィジェットを閉じる

ウィジェットを閉じる場合は、stopWidget()メソッドを使用します。

public static void stopWidget()

次の例は、ウィジェットを強制的に閉じる例です。

  /**
   * ウィジェットを閉じます。
   */
  Glink.sharedInstance().stopWidget();

ウィジェットの基本位置の設定

ウィジェットを最初に実行する時は、画面左の中央に表示されます。ウィジェットを最初に実行する時に表示される基本位置を設定する場合は、setWidgetStartPosition()メソッドを使用します。

ただし、ユーザーがウィジェットを移動した後、ウィジェットが再び実行される時は、ユーザーが移動した最後の位置にウィジェットが表示されます。

void setWidgetStartPosition(bool isLeft, int heightPercentage)

次の例は、ウィジェットの基本位置を画面右側、上から20%の位置に設定した例です。

    /**
    * ウィジェットの基本位置を設定します。
    * isLeft: trueであれば左側に、falseであれば右側に表示されます。
    * heightPercentage:縦の位置を%で指定できます。
    **/

    GLink.sharedInstance().setWidgetStartPosition(false, 20);

画面キャプチャ

ウィジェットの画面キャプチャボタンをタップすると、ゲーム画面をキャプチャできます。

画面キャプチャボタン

画面キャプチャボタンをタップした時に画面をキャプチャする機能は、ウィジェットの画面キャプチャボタンのクリックリスナーを登録して実装します。

Android

Android環境では、次のようなコールバック関数で画面キャプチャボタンのクリックリスナーを登録します。

glinkClass.CallStatic ("setOnWidgetScreenshotClickListener", new OnWidgetScreenshotClickListener ());

次の例は、Android用スクリプトファイルのGlinkAndroid.csファイルに画面キャプチャボタンのクリックリスナーを実装した例です。

class OnWidgetScreenshotClickListener : AndroidJavaProxy {
    public OnWidgetScreenshotClickListener () : base("com.naver.glink.android.sdk.Glink$OnWidgetScreenshotClickListener") { /* empty. */ }

    void onScreenshotClick() {
        string name = "CafeSdkController";

        GameObject obj = GameObject.Find (name);
        if (obj == null) {
            obj = new GameObject ("CafeSdkController");
            obj.AddComponent<SampleBehaviour> ();
        }

        SampleBehaviour behaviour = obj.GetComponent<SampleBehaviour> ();
        behaviour.OnClickScreenShotButton ();
    }
}

iOS

iOS環境では、iOS用スクリプトファイルのGlinkiOS.csファイルに、次の例のように画面キャプチャボタンのクリックリスナーを実装します。

public void executeCaptureScreenshopAndPostArticle(string dummy) {
    // For iOS , For Widget
    // Game ScreenShot Code
    StartCoroutine (this.CoFunction ());
    Texture2D image = new Texture2D (Screen.width, Screen.height, TextureFormat.RGB24, false);
    image.ReadPixels (new Rect (0, 0, Screen.width, Screen.height), 0, 0, true);
    image.Apply ();

    byte[] bytes = image.EncodeToPNG();
    string path = Application.persistentDataPath + "/GLShareImage.png";
    File.WriteAllBytes(path, bytes);        

    GLink.sharedInstance().executeArticlePostWithImage(5, "", "", path);

}

画面キャプチャの使用設定

setUseWidgetScreenShot()メソッドで、画面キャプチャ機能の使用の有無を設定します。

void setUseWidgetScreenShot(bool useScreenShot);

useScreenShotパラメータの値をtrueに設定すると、ウィジェットに画面キャプチャボタンが表示されます(既定値:true)。

次の例は、画面キャプチャ機能を使用しないように実装した例です。

    /**
    * ウィジェットに画面キャプチャボタンを表示しません。
    **/

    GLink.sharedInstance().setUseWidgetScreenShot(false);

動画録画

動画録画ボタンをタップすると、ゲーム中にゲーム画面を録画できます。

  • 動画録画機能は、Android 5.0以上のデバイスから対応しています。

  • 動画録画機能は、iOS 9.0以上のデバイスから対応しています。

ウィジェットの動画録画機能の使用

ウィジェットの動画録画ボタンをタップすると、ゲーム中にゲーム画面を録画できます。

動画録画の使用設定

setUseWidgetVideoRecord()メソッドで、動画録画機能の使用の有無を設定します。

public void setUseWidgetVideoRecord(bool useVideoRecord)

useVideoRecordパラメータの値をtrueに設定すると、ウィジェットに動画録画ボタンが表示されます(既定値:false)。

Android 5.0未満のデバイスと、iOS 9.0未満のデバイスでは、useVideoRecordパラメータの値をtrueに設定しても、ウィジェットに動画録画ボタンが表示されません。 次の例は、動画録画機能を使用するように実装した例です。

  /**
   * 動画録画機能を使用するか決定します。
   *
   * @param useVideoRecord 動画録画機能を使用するかに対するboolean形式の値
   */
  GLink.sharedInstance().setUseWidgetVideoRecord(true)

録画完了コールバックリスナー

動画録画が完了した時に、処理する作業はコールバックリスナーを登録して実装します。

Android

Android環境では、次のようなコールバック関数で録画完了クリックリスナーを登録します。

glinkClass.CallStatic ("setOnRecordFinishListener", new OnRecordFinishListener ());

次の例は、Android用スクリプトファイルのGlinkAndroid.csファイルに録画完了リスナーを実装した例です。

class OnRecordFinishListener : AndroidJavaProxy {
    public OnRecordFinishListener () : base("com.naver.glink.android.sdk.Glink$OnRecordFinishListener") { /* empty. */ }

    void onRecordFinished(String uri) {
        GLinkAndroid glink = (GLinkAndroid) GLink.sharedInstance ();
        glink.executeArticlePostWithVideo (-1, "", "", uri);
    }
}

iOS

iOS環境では、ncSDKWidgetSuccessVideoRecordメソッドに録画完了リスナーを登録します。

 (void)ncSDKWidgetSuccessVideoRecord;

次の例は、録画完了リスナーを実装した例です。

...
[[NCSDKManager getSharedInstance] setNcSDKDelegate:self];
...
- (void)ncSDKWidgetSuccessVideoRecord {
    NSLog(@"動画録画完了");
}

ゲームの動画録画機能の使用

ゲーム開発会社で動画録画ボタンを実装し、ゲーム画面を録画できます。

動画録画の開始と終了

動画録画を開始する場合は、startRecord()メソッドを使用します。

/*
動画の録画を始めます。
*/


GLinkRecord.sharedInstance().startRecord();

動画録画を終了する場合は、stopRecord()メソッドを使用します。

/*
動画の録画を終わります。
*/

GLinkRecord.sharedInstance().stoptRecord();

動画録画コールバックリスナー

ゲーム開発会社のボタンで、動画を録画する時に発生するイベントを処理する作業は、コールバックリスナーを登録して実装します。

Android

動画録画機能を実装した、スクリプトファイルのGLinkRecord.csで提供するAndroid用コールバックリスナーは、次のとおりです。

class OnRecordManagerListener : AndroidJavaProxy {
    void onStartRecord() {
    // TODO: startRecord callback.
    showToast ("start record");
    }

    void onErrorRecord() {
    //TODO: record error callback.+
    showToast ("record error");
    }

    void onFinishRecord(string uri) {
    //TODO: record finish callback.+
    // GLinkAndroid glink = (GLinkAndroid) GLink.sharedInstance ();
    // glink.executeArticlePostWithVideo (uri);
    }
}

iOS

動画録画機能を実装した、スクリプトファイルのGLinkRecord.csで提供するiOS用コールバックリスナーは、次のとおりです。

public class GLinkRecordiOS : IGLinkRecord {

    // 動画録画の開始
    delegate void RecordStartDelegate();
    [MonoPInvokeCallback(typeof(RecordStartDelegate))]
    public static void _RecordStartCallback () {
        Debug.Log("Record Started.");
    }

    // 動画録画のエラー発生
    delegate void RecordErrorDelegate(string result);
    [MonoPInvokeCallback(typeof(RecordErrorDelegate))]
    public static void _RecordErrorCallback (string result) {
        Debug.Log("Record Error : " + result);
    }

       // 動画録画の終了
    delegate void RecordFinishDelegate();
    [MonoPInvokeCallback(typeof(RecordFinishDelegate))]
    public static void _RecordFinishCallback () {
        Debug.Log("Record Finish.");
    }

    // 動画録画後、プレビューウィンドウを閉じる
    delegate void RecordFinishWithPreviewDelegate();
    [MonoPInvokeCallback(typeof(RecordFinishWithPreviewDelegate))]
    public static void _RecordFinishWithPreviewCallback () {
        Debug.Log("Record Finish With Preview.");
    }
}

App Scheme 処理

ゲームでPLUGのホーム画面に表示されるバナー画像をタップすると、App Schemeに移動してゲーム機能を実行させることができます。

App Schemeに移動するバナー画像は、カフェの管理メニューで登録します。

Android

Android環境でApp Schemeに移動するバナー画像にタッチイベントが起こった時、App Schemeを処理する機能を実装する場合は、Android用スクリプトファイルのGlinkAndroid.csファイルに次のようにリスナーを設定します。

class OnClickAppSchemeBannerListener : AndroidJavaProxy {
    public OnClickAppSchemeBannerListener () : base("com.naver.glink.android.sdk.Glink$OnClickAppSchemeBannerListener") { /* empty. */ }

    void onClickAppSchemeBanner (string appScheme) {
        showToast ("tapped:" + appScheme);
    }
}

iOS

iOS環境でApp Schemeに移動するバナー画像にタッチイベントが起こった時、App Schemeを処理する機能を実装する場合は、iOS用スクリプトファイルのGLinkiOS.csファイルに次のようにリスナーを設定します。

delegate void NCSDKAppSchemeBannerDelegate(string appScheme);
[MonoPInvokeCallback(typeof(NCSDKAppSchemeBannerDelegate))]
public static void _NCSDKAppSchemeBannerCallback (string appScheme) {
    Debug.Log("AppSceme : " + appScheme);
    _ShowMessageToast ("AppScheme" + appScheme);
}

ゲームIDの連携

ユーザーのゲームIDとCafe IDを連携して管理できます。連携したゲームIDとCafe IDのリストは、カフェの管理メニューから確認できます。 ゲームIDをCafe IDと連携する場合は、syncGameUserId()メソッドを使用します。

次の例は、ゲームIDとCafe IDを連携する例です。

void syncGameUserId(string gameUserId)

次の例は、ゲームIDとCafe IDを連携する例です。

  /**
   * ゲームIDとCafe IDを連携します。
   *
   * @param gameUserId ゲームID
   */
  GLink.sharedInstance().syncGameUserId("usergameid");

テーマカラー変更

PLUGのテーマカラーを変更できます。

テーマカラーを変更する場合は、setThemeColor()メソッドを使用します。

/** 
 * themeColorCSSString パラメータの既定値は「#00c73c」です。
 * backgroundCSSString パラメータの既定値は「#44484e」です。
 * backgroundCSSString パラメータは既定値を使用することを推奨します。
 **/

void setThemeColor(string themeColorCSSString, string backgroundCSSString);
  • themeColorCSSString: テーマで基本的に使用する色(既定値:#00c73c)

  • backgroundCSSString: タブメニューの背景色(既定値:#44484e)既定値を使用することを推奨します。

注意 CSSカラー値にアルファ値を入れてはいけません。

  • 正しい例: #ff9800

  • 間違った例: #e2ff9800

次の例は、テーマカラーを変更する例です。

GLink.sharedInstance().setThemeColor("#00c73c", "#44484e");

リソース画像変更

NAVER CafeのPLUGライブラリに含まれたリソース画像を変更できます。

Android

Android環境でNAVER CafeのPLUGライブラリに含まれたリソース画像は、次のように変更できます。

  1. NAVER CafeのPLUGライブラリファイル(.aarファイル)の圧縮を解凍します。

  2. 圧縮を解凍したフォルダの/res/drawable-xhdpiフォルダにある画像をお好きな画像に変更します。

  3. 圧縮を解凍したフォルダを再びライブラリファイル(.aarファイル)に圧縮します。

  4. 新しく圧縮したNAVER CafeのPLUGライブラリを適用し、プロジェクトをビルドします。

注意 画像を変更する時に、画像のサイズは既存の画像と同じ物を使用してください。

iOS

iOS環境でNAVER CafeのPLUGライブラリに含まれたリソース画像は、次のように変更できます。

  1. NaverCafeSDK.bundleパッケージにある画像をお好きな画像に変更します。

  2. 修正したパッケージをNAVER CafeのPLUGライブラリに適用し、プロジェクトをビルドします。

注意 画像を変更する時に、画像のサイズは既存の画像と同じ物を使用してください。

NAVERログイン

アプリケーションで、NAVER IDでログイン機能を使用します。

  • NAVERログイン機能は、GLinkNaverId.csファイルを使用します。

init()メソッド

次の初期化情報で、NAVER機能を初期化します。

  • NAVER IDでログイン開発者センターにてアプリケーションを登録し、受け取ったクライアントID

  • NAVER IDでログイン開発者センターにてアプリケーションを登録し、受け取ったクライアントシークレット

次の例は、NAVERログイン機能を初期化した例です。

    GLinkNaverId.sharedInstance().init("197CymaStozo7x5r2qR5", "evCgKH1kJL");

login()メソッド

NaverIDでログインします。

    GLinkNaverId.sharedInstance().login();

ログイン完了後、リスナーが呼び出されます。

Android

次の例は、Android環境でログイン完了後に呼び出されるリスナーの例です。

class OnLoggedInListener : AndroidJavaProxy {
        public OnLoggedInListener () : base("com.naver.glink.android.sdk.Glink$OnLoggedInListener") { /* empty. */ }

        void onLoggedIn (bool success) {
            // TODO: login callback.
        }
    }

iOS

次の例は、iOS環境でログイン完了後に呼び出されるリスナーの例です。

public static void _NaverIdGetProfileCallback (string result) {
        Debug.Log(" result : " + result);
    }

logout() メソッド

ログアウトします。

    GLinkNaverId.sharedInstance().logout();

isLogin() メソッド

ログインした状態か確認します。

    BOOL isLogin = GLinkNaverId.sharedInstance().isLogin();

getProfile() メソッド

ログインしたユーザーの基本情報(メールアドレス、ニックネーム、プロフィール写真、誕生日、年齢層)を照会します。

    GLinkNaverId.sharedInstance().getProfile();

照会する情報は、リスナーを登録して設定します。

Android

次の例は、Android環境でユーザーの基本情報を照会するリスナーの例です。

    class OnGetProfileListener : AndroidJavaProxy {
        public OnGetProfileListener () : base("com.naver.glink.android.sdk.NaverIdLogin$OnGetProfileListener") { /* empty. */ }

        void onResult(string jsonString) {
            // TODO: get profile callback.
        }
    }

iOS

次の例は、iOS環境でユーザーの基本情報を照会するリスナーの例です。

public static void _NaverIdLoginCallback () {
        Debug.Log("Naver Login Success");
    }

Last updated