ネイティブ広告用クラスの内容 - fan-ADN/nendSDK-cocos2d-x GitHub Wiki
NendNativeAdClient
ネイティブ広告のロードと表示を行うクラスです。
コンストラクタ
public NendNativeAdClient(std::string apiKey, std::string spotID);
パラメーター
- apiKey
管理画面より取得したapiKey - spotID
管理画面より取得したspotID
create
static nend_module::NendNativeAdClient* create(std::string apiKey, std::string spotID);
パラメーター
- apiKey
管理画面より取得したapiKey - spotID
管理画面より取得したspotID
広告のロード
void loadAd(const std::function<void (nend_module::NendNativeAd*, NendNativeLoadResultCode, std::string)> &callback);
ネイティブ広告のロードを行います。
パラメーター
- callback
ロード結果のコールバック- NendNativeAd*
広告情報オブジェクト - NendNativeLoadResultCode
結果コード - std::string
エラーメッセージ(成功時は空)
- NendNativeAd*
NendNativeLoadResultCode
定義 | 値 | 内容 |
---|---|---|
NEND_SUCCESS_LOAD_AD | 200 | 成功 |
NEND_FAILED_TO_REQUEST | 340 | リクエスト失敗(通信エラー等) |
NEND_INVALID_RESPONSE_TYPE | 341 | SDK内部のエラー(基本的に発生することはありません) |
NEND_INVALID_IMAGE_FORMAT | 343 | 広告の画像フォーマットが無効 |
自動リロード開始
void enableAutoReload(const int interval, const std::function<void (nend_module::NendNativeAd*, NendNativeLoadResultCode, std::string)> &callback);
パラメーター
- interval
自動リロードを行う間隔を秒で指定。
(30秒 未満の数値を指定する事はできません) - callback
ロード結果のコールバック- NendNativeAd*
広告情報オブジェクト - NendNativeLoadResultCode
結果コード - std::string
エラーメッセージ(成功時は空)
- NendNativeAd*
自動リロード停止
void disableAutoReload();
NendNativeAd
広告の要素の取得、広告の描画、クリックイベントの登録、インプレッションの計測を行うクラスです。
広告見出しの取得
std::string getShortText();
広告文の取得
std::string getLongText();
プロモーション名の取得
std::string getPromotionNameText();
表示URLの取得
std::string getPromotionUrlText();
アクションボタンテキストの取得
std::string getActionButtonText();
広告画像のダウンロードURLの取得
std::string getAdImageUrl();
- 広告画像が無い広告タイプの場合は、空文字が返却されます。
ロゴ画像のダウンロードURLの取得
std::string getLogoImageUrl();
- ロゴ画像が無い広告タイプの場合は、空文字が返却されます。
広告画像のダウンロード
void downloadAdImage(const std::function<void (Texture2D*, std::string)> &callback);
パラメーター
- callback
ダウンロード結果のコールバック- Texture2D*
広告画像オブジェクト
広告画像が無い広告タイプの場合は、nullptr
が設定されます。 - std::string
エラーメッセージ(成功時は空)
- Texture2D*
ロゴ画像のダウンロード
void downloadLogoImage(const std::function<void (Texture2D*, std::string)> &callback);
パラメーター
- callback
ダウンロード結果のコールバック- Texture2D*
ロゴ画像オブジェクト
ロゴ画像が無い広告タイプの場合は、nullptr
が設定されます。 - std::string
エラーメッセージ(成功時は空)
- Texture2D*
クリックイベント登録とインプレッション計測開始
広告を表示したNode
と、広告明示を配置したLabel
をクリック可能にします。
void activateAdView(Node* node, Label* prLabel);
パラメーター
- node
広告要素がレイアウトされたNode
- prLabel
広告明示をセットしたLabel
広告明示の文字列を取得
std::string prTextForAdvertisingExplicitly(NendNativeAdvertisingExplicitly explicitly);
パラメーター
- explicitly
取得する「広告明示」の定義
NendNativeAdvertisingExplicitly
定義 | 表示文言 |
---|---|
NAD_NATIVE_ADVERTISING_EXPLIICITY_PR | PR |
NAD_NATIVE_ADVERTISING_EXPLIICITY_SPONSORED | Sponsored |
NAD_NATIVE_ADVERTISING_EXPLIICITY_AD | 広告 |
NAD_NATIVE_ADVERTISING_EXPLIICITY_PROMOTION | プロモーション |
広告の描画
public void renderAdViews(Node* node, NendNativeAdBinder* binder, NendNativeAdvertisingExplicitly explicitly);
ロードしたネイティブ広告の描画を行います。
パラメーター
- node
広告要素がレイアウトされたNode
- binder
各広告要素と表示用のNode
を紐付けたクラス - explicitly
「広告明示」に設定する表示文言の定義
広告クリック時のコールバック
public void setAdClickCallback(const std::function<void (NendNativeAd*, Node*)> &callback);
広告クリックのコールバックを登録します。
パラメーター
- callback
広告クリックのコールバック- NendNativeAd*
クリックされた広告のNendNativeAd
- Node*
広告要素がレイアウトされたNode
- NendNativeAd*
NendNativeAdBinder
ネイティブ広告の各広告要素と、それらを表示するcocos2d::Label
やcocos2d::Sprite
の紐付けを行うクラスです。
広告要素設定
public void setPrText_Name(std::string name);
広告明示を表示するcocos2d::Label
の名前をセットします。
public void setShortTitle_Name(std::string name);
広告見出しを表示するcocos2d::Label
の名前をセットします。
public void setLongText_Name(std::string name);
広告文を表示するcocos2d::Label
の名前をセットします。
public void setPromotionName_Name(std::string name);
プロモーション名を表示するcocos2d::Label
の名前をセットします。
public void setPromotionUrl_Name(std::string name);
プロモーションURLを表示するcocos2d::Label
の名前をセットします。
public void setActionText_Name(std::string name);
アクションボタンを表示するcocos2d::Label
の名前をセットします。
public void setAdImage_Name(std::string name);
広告画像を表示するcocos2d::Sprite
の名前をセットします。
public void setLogoImage_Name(std::string name);
ロゴ画像を表示するcocos2d::Sprite
の名前をセットします。
auto binder = new NendNativeAdBinder();
binder->setPrText_Name("your PrText name");
binder->setShortTitle_Name("your ShortTitle name");
binder->setLongText_Name("your LongText name");
binder->setPromotionName_Name("your PromotionName name");
binder->setPromotionUrl_Name("your PromotionURL name");
binder->setActionText_Name("your ActionText name");
binder->setAdImage_Name("your AdImage name");
binder->setLogoImage_Name("your LogoImage name");
NendNativeClippingNode
cocos2d::ClippingNode
を継承したクラスです。
ネイティブ広告の広告画像の切り抜きに使用します。
create
public static NendNativeClippingNode* create(const Size clipSize, const float radius, Sprite* sprite, NendNativeClipType clipType);
パラメーター
- clipSize
切り抜くサイズ - radius
コーナーの角度 - sprite
広告画像を表示するcocos2d::Sprite
- clipType
切り抜きのタイプ
NendNativeClipType
定義 | 説明 |
---|---|
NEND_CLIP_CENTER | 中央を起点に切り抜きを行います |
NEND_CLIP_TOP_LEFT | 左上を起点に切り抜きを行います |
NEND_CLIP_TOP_RIGHT | 右上を起点に切り抜きを行います |
NEND_CLIP_BOTTOM_LEFT | 左下を起点に切り抜きを行います |
NEND_CLIP_BOTTOM_RIGHT | 右下を起点に切り抜きを行います |
// 広告を表示するNode
auto adLayer = ...;
// 広告画像を表示するSprite
auto adImageSprite = Sprite::create();
adImageSprite->setName("AdImage");
...
// クリップ用Nodeの生成(80x80の画像を72x72で中央寄せで切り抜く場合の実装例)
auto clipNode = NendNativeClippingNode::create(Size(72, 72), 4.f, adImageSprite, NEND_CLIP_CENTER);
clipNode->setPosition(Point(..., ...));
// 広告画像を表示するSpriteを子Nodeに追加
clipNode->addChild(adImageSprite);
...
// 広告Nodeに追加
adLayer->addChild(clipNode);
...
// バインダーで紐付け
auto binder = new NendNativeAdBinder();
binder->setAdImage_Name("AdImage");
...