Cocos2d-x ios オファーウォール呼び出し型

提供: GAMEFEAT マニュアル
移動: 案内検索

v2.1の実装マニュアルについては、こちらを参照してください。

目次

フレームワークの追加

付属の「GameFeatKit.framework」を任意の場所にコピーします。

プロジェクトを開き、「Frameworks」を選択し、「Add Files to "プロジェクト名"」を選択します。

ダイアログからGameFeatKit.frameworkを選択し、フレームワークを追加します。

同様にGameFeatKitに必要な、以下のフレームワークをプロジェクトに追加します。

・Foundation.framework
・UIKit.framework
・CoreTelephony.framework
・AdSupport.framework(Optional)
・StoreKit.framework(Optional)

JSONKitの追加

また同梱されている下記JSONKitライブラリをプロジェクトに追加します。

JSONKit

プロジェクトが ARC アプリである場合

※JSONKitがARCに対応していないためにビルド時にエラーが発生します。

その場合には、JSONKit.mに-fno-objc-arcフラグを付ける必要があります。


プロジェクト設定からBuildPhasesタブを選択し、CompileSources中に存在するJSONKit.mを選択して、Compiler Flagsに

-fno-objc-arc

を設定してください。

リソースファイルの追加

同梱されているgamefeatフォルダを、プロジェクトのリソースに追加します。

GameFeat SDKの有効化

起動時にGameFeat SDKを有効化する必要があります。

UIApplicationDelegateを継承したクラスのヘッダファイルで

<GameFeatKit/GFController.h>

を読み込み、applicationDidBecomeActiveに下記メソッドを追加します。

【AppController.h】

#import <UIKit/UIKit.h>
#import "RootViewController.h"
#import <GameFeatKit/GFController.h>

@interface AppController : NSObject <UIApplicationDelegate> {
    UIWindow *window;
}

@property(nonatomic, readonly) RootViewController* viewController;

@end

【AppController.mm】

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    [GFController activateGF:@"メディアID" useCustom:YES useIcon:YES];
}
// 初期化コードの引数
[GFController activateGF:@"メディアID" useCustom:カスタム広告の使用 useIcon:アイコン広告の使用];

使用する広告の種類に合わせてBOOL(YES / NO)を引数として設定をしてください。 オファーウォール呼び出し型のみを使用される場合は、

[GFController activateGF:@"メディアID" useCustom:NO useIcon:NO];

と記述をしてください。

※【メディアID】は管理画面よりご確認いただけます。

※エラーが発生せずにビルドが完了すれば、 正常にSDKが追加できています。

広告一覧の表示方法

※ AndroidはNativeBridge.cpp iOSはNativeBridge.mmとして作成していただき、ヘッダーファイルは一つのみ作成してください。

C++からObjective-Cを呼び出す為にNativeBridgeファイルを作成し、

<GameFeatKit/GFView.h>

<GameFeatKit/GFController.h>

を読み込み、SDKのshowGFメソッドを呼ぶshowGameFeatメソッドを作成します。

【NativeBridge.h】

#ifndef _NATIVE_BRIDGE_H_
#define _NATIVE_BRIDGE_H_

class NativeBridge
{
public:
  //オファーウォール型GameFeat
  static void showGameFeat();
};

#endif
【NativeBridge.mm】

#import "NativeBridge.h"
#import <GameFeatKit/GFView.h>
#import <GameFeatKit/GFController.h>
#include "AppController.h"

/**
 * オファーウォール型GameFeat表示
 */
void NativeBridge::showGameFeat()
{
  AppController *appController = (AppController*)[[UIApplication sharedApplication] delegate];
  [GFController showGF:(UIViewController *)appController.viewController site_id:"@メディアID"];
}

広告を表示したいタイミングで

NativeBridge.h

を読み込み、showGameFeatメソッドを実行してください。

【MainScene.cpp】

#include "MainScene.h"
#include "NativeBridge.h"

void MainScene::onClickBtn()
{
  NativeBridge::showGameFeat();
}

※第一引数(上記の例では(UIViewController *)appController.viewController)はUIViewControllerを継承したクラスである必要があります。

※第二引数の【メディアID】は管理画面よりご確認いただけます。

コンバージョン確認タスクの起動

アプリがバックグラウンドへ遷移した際に、アプリインストールのコンバージョンを確認するタスクを起動する必要があります。

UIApplicationDelegateを継承したクラスのapplicationDidEnterBackgroundに下記メソッドを追加します。

- (void)applicationDidEnterBackground:(UIApplication *)application
{
    UIDevice *device = [UIDevice currentDevice];
    BOOL backgroundSupported = NO;
    if ([device respondsToSelector:@selector(isMultitaskingSupported)]) {
        backgroundSupported = device.multitaskingSupported;
    }
    if (backgroundSupported) {
        [GFController backgroundTask];
    }
}

コンバージョン確認タスクの停止

アプリがバックグラウンドから起動した際には、アプリインストールのコンバージョンを確認するタスクを停止する必要があります。

UIApplicationDelegateを継承したクラスのapplicationWillEnterForegroundに下記メソッドを追加します。

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    [GFController conversionCheckStop];
}

コンバージョン確認方法

GameFeat SDKの広告一覧画面よりアプリを選択するとApp Storeが起動いたしますので、対象のアプリをインストールしてください。

インストール完了後、GameFeat SDKがインストール情報をGameFeatサーバーへ送信いたしますので、管理画面より成果をご確認いただけます。

※管理画面の反映には10分程度かかります。

iOS6.0以上の端末の場合

開発中アプリからiOS6.0以上の端末で成果を確認する場合、GameFeatからアプリをインストールできません。(リリース後、正常に動作いたします)

GameFeatではStoreKitを使用してApp Storeを表示しており、Appleの仕様上StoreKitを利用したアプリのインストールはデバック環境やアドホック環境では行うことができません。

その場合、成果の確認方法は広告一覧画面よりアプリを選択後、手動でApp Storeアプリを起動し、

対象のアプリをインストールしていただくことで成果の確認を行うことができます。 

オファーウォールの起動ボタンを管理画面から追加

オファーウォールの起動ボタンを管理画面から追加していただき、アプリに表示する事が可能です。

さらにどのボタンから広告クリック、コンバージョンに至ったかまで管理画面から確認する事ができます。

オファーウォール起動ボタン入稿画面

https://www.gamefeat.net/partner_site/index/

上記ページからアプリを選択して、「ウォール起動ボタン」のタブから入稿可能です。

※GAME FEAT SDK3.2以上でご利用することができます

1.AppControllerに下記のコードを追加

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    // CGRectMakeには描画位置とサイズを指定します
    //  gfButtonTagは省略可能です。省略した場合「表示する」設定になっているボタンの中からランダムに表示します
    {
        GFWallButton *gfButton1 = [[[GFWallButton alloc] init:self] autorelease];
        gfButton1.frame = CGRectMake(110, 50, 100, 30);
        [[[GFWallButtonController alloc]init:gfButton1 gfButtonTag:@"タグ名"] autorelease];
        [self.viewController.view addSubview:gfButton1];
    }

    // gfButtonTagを省略したパターン
    {
        GFWallButton *gfButton2 = [[[GFWallButton alloc] init:self] autorelease];
        gfButton2.frame = CGRectMake(110, 90, 100, 28);
        [[[GFWallButtonController alloc]init:gfButton2 ] autorelease];
        [self.viewController.view addSubview:gfButton2];
    }
}

AppControllerのヘッダファイルにクラスをインポート

#import <GameFeatKit/GFWallButton.h>
#import <GameFeatKit/GFWallButtonController.h>

URLスキームの設定

相互送客機能を使用するために、アプリに任意のURLスキームを設定してください。

サンプルプロジェクト

GameFeat SDKのサンプルプロジェクトを用意いたしました。

SDKを管理画面からダウンロードしていただき、サンプルプロジェクトに含めてください。

また、STAppDelegate.h内の

#define GAME_MEDIA_ID @"メディアID"

こちらを適宜変更の上、動作のご確認をよろしくお願いいたします。

GAMEFEAT_cocos2dx ver3.x.x sample
GAMEFEAT_cocos2dx ver2.x.x sample
GAMEFEAT_cocos2d sample

個人用ツール
名前空間

変種
操作
Androidへの導入
iOSへの導入 (新SDK)
iOSへの導入 (旧 GAMEFEAT SDK)
Unityへの導入方法
Cocos2dx(Android)への導入方法
Cocos2dx(iOS)への導入方法
Q&A
ツールボックス