AdwhirlのadWhirlDidReceiveAdはCustom Eventには効かない?



Adwhirlを入れてはや1ヶ月くらい経ちました。

現在入れているのはiAd、Admob、Admakerの3つですが、iAdはあまりにも効果が少なかったため、その分の通信時間がおしかったので非表示にしてあります。そのため実質AdmobとAdmakerの2つですね。

で、私は広告が表示されていないときは広告のビュー自体を透明化(なんたら.view.alpha = 0.0;)していて、広告を受信したタイミングで透明化をオフにしている(なんたら.view.alpha = 1.0;)のですが、なぜかAdmakerではこれがうまくいかない。Admobではちゃんと動いているのに。

というわけでいろいろ試してみたところ、広告が受信されたタイミングで実行されるAdwhrlの関数である「adWhirlDidReceiveAd」が、Admakerでは実行されていない感じでした。Admobではちゃんと実行されるので、もしかしたらユーザー側で追加した「Custom Event」では「adWhirlDidReceiveAd」関数は呼ばれないのかもしれません。

というわけでしょうがないから下記のようにAdmaker側の広告を受信したタイミングで実行される「didLodAdMakerView」関数の中で不透明化(なんたら.view.alpha = 1.0;)を実行させることで対応しました。

ソースの一部は下記のとおり。

- (void)viewDidLoad {
	[super viewDidLoad];	
	
	// 以下、Admaker-----------------
	AdMaker = [[AdMakerView alloc] init];
	[AdMaker setAdMakerDelegate:self];
	[AdMaker setFrame:CGRectMake(0, 0, 320, 50)];
	[AdMaker start];

	// 広告が受信されるまではAdmakerの広告枠自体を非表示
	AdMaker.view.alpha = 0.0;
	// 以上、Admaker-----------------
	
	//adwirl
	[super viewDidLoad];
	
	self.awView = [AdWhirlView requestAdWhirlViewWithDelegate:self];
	[self.view addSubview:awView];
	
	awView.frame = CGRectMake(0.0, self.view.frame.size.height - 
							   GAD_SIZE_320x50.height - 44,GAD_SIZE_320x50.width, GAD_SIZE_320x50.height);
	
	awView.delegate = self;
	awView.alpha = 0.0;	
}

// Adwhirl側の広告受信時に実行される関数
- (void)adWhirlDidReceiveAd:(AdWhirlView *)adWhirlView{
	// Admobは広告受信時のこの関数が実行されるが、Admakerはなぜか実行されない
	awView.alpha = 1.0;
}

// AdMaker側の広告受信時に実行される関数
- (void)didLoadAdMakerView:(AdMakerView*)view{
	// しょうがないのでAdmaker側に「awView.alpha = 1.0;」を追加
	AdMaker.view.alpha = 1.0;
	awView.alpha = 1.0;
}

AdwhirlにCustom EventとしてAdmakerを組み込む方法



前回の記事(iPhoneアプリにAdwhirlを設置してiAdとAdmobを切り替える方法)でAdwhirlにAdmobとiAdを組み込みました。

今回は、国内のスマートフォン広告の一つAdmakerをAdwhirlへ組み込む方法をご説明します。しかし、AdLantisやAMoAd、AppBank Networkなども同じ手順でできます。
なお、前回の記事で説明した内容を既に設定済みであることを前提に説明してありますので、まずは前回の記事をご覧ください。


1、Admakerにアプリの登録をする

まず、アプリをAdmakerに登録します。
AdmakerはAdmobと違い、アプリを登録をしてから審査があります。審査期間は長くて1週間くらいだったと思うので、なるべく早く済ましておきましょう。


2、Adwhirl管理画面でAdmakerをCustom Eventとして設定する

Adwhirlへログインし、Admakerを組み込みたいアプリを選択します。
アプリの管理画面が表示されるので、「Add Custom Event」を選択し、下記のように項目を入力してください。

Name:Admaker
Function Name:performEventAdMaker



3、Admakerの設定をする

AdmakerからダウンロードできるSDKの中にinstall.pdfという説明資料が入っているので、そちらを参考にコードやファイルを追加してください。


4、performEventAdMakerのコードを書く

下記のコードをビューコントローラーの.mにコピペしてください。
- (void)performEventAdMaker:(AdWhirlView *)adWhirlView {
   [AdMaker setFrame:kAdWhirlViewDefaultFrame];
   [adWhirlView replaceBannerViewWith:AdMaker.view];
}


5、Admakerのコードの一部を変更する

上記のperformEventAdMakerを使うことで、Adwhirl側で広告の表示を管理します。そのためAdmaker側の広告表示プログラムは使わないの下記の部分をコメントアウトします。


//広告の取得に成功
- (void)didLoadAdMakerView:(AdMakerView*)view {
// 下記をコメントアウトにする
//[self.view addSubview:AdMaker.view];
}

これですべての作業は完了です。


まとめ

ここではAdmakerを組み込みましたが、AdLantisやAppBank Network、AMoAdなども同じような感じでいけますので、もしそちらも組み込みたい場合はやってみてください。
広告ネットワークの比較はこちらの記事で紹介しています。

なお、上記のAdmakerをAdwhirlに組み込む方法は、パンダアプリなどの人気アプリを開発されているムラモトタケシ様から教えて頂いた内容を私の方で少し改変したものです(AdmakerSDKがバージョンアップしたため改変が必要になった)。

ムラモト様、とても親切に教えていただき本当にありがとうございました!ムラモト様の開発された人気楽器アプリ「パンダピアノ」やパズルアプリ「iMake10」などはこちら

※なお、ムラモト様に教えて頂いた時点で問題なくAdmakerの表示が確認できているため、今回の記事で紹介したコードを試してAdmakerが表示されない場合、完全に私のミスです。

もし表示されない場合はご連絡くださいませ。

音DEぬりえと音DEレインボーをアップデートしました。



音が出る新感覚お絵かきアプリ「音DEぬりえ」と「音DEレインボー」を先日アップデートしました。

音DEぬりえ:背景色に黒を追加しました


ゴミ箱ボタンを押すたびに背景色が白→黒→白と切り替わります。また、背景色が黒の場合には黒ペンが白ペンへと自動で切り替わります。



白いキャンバスとはまた一風ちがった雰囲気ですね。


音DEレインボー:スタンプを2つ追加しました


「w」と「/」のスタンプを追加しました。もちろんそれぞれのスタンプに独自の音が鳴ります。





マイナーアップデートですけれども、少しでも使っていただいてる方に新鮮な気持ちで遊んでもらえるように日々がんばりたいです。

ダウンロードはこちらから。
音DEぬりえ
音DEレインボー

そろそろ次のアプリに取り掛からないとやばいす。

【iOS+Object-Cメモ】SystemSoundIDとAudio Queue Servicesで音を鳴らす



iPhoneで音を鳴らすには少なくとも2つ方法があります(3つあった気もするけどあと1つ忘れた)。

1つはSystemSoundIDを使う方法、もう1つはAudio Queue Servicesを使う方法です。
それぞれに特性や使い方が違うので、1つずつ見て行きましょう。

SystemSoundIDの特徴と使い方


○特徴
  • 設置が比較的カンタン
  • 30秒以内の音しか鳴らせない
  • 音をループさせることはできない
  • ネットワーク通信を行うアプリで使用すると、音量がiPhone本体の左ボタンで調節できなくなる

○使い方
// ヘッダーファイル
@interface hogeViewController {
	SystemSoundID soundID;
}

- (IBAction)sounds01;

// 実装ファイル
@implementation hogeViewController

- (IBAction)sounds01 {
	
	NSString *path = [[NSBundle mainBundle]pathForResource:@"1" ofType:@"caf"];
	NSURL *url = [NSURL fileURLWithPath:path];
	AudioServicesCreateSystemSoundID((CFURLRef)url, &soundID);
	
	//サウンドを鳴らす
	AudioServicesPlaySystemSound(soundID);
}

// あとはInterface builderでボタンなどに対してsounds01をActionとしてひもづける
// 必要なフレームワークはAudioToolbox.framework 

○コメント
とってもシンプルなSystemSoundIDですが、いろいろと制約があるので使いにくい場面があるかもしれません。
そんなときは次のAudio Queue Servicesを使いましょう。


Audio Queue Servicesの特徴と使い方

○特徴
  • 30秒以上の音でも鳴らせる
  • 音のループが可能
  • SystemSoundIDよりちょっぴり重たいかも?

○使い方
// ヘッダーファイル
@interface hogeViewController {
	AVAudioPlayer *player;
}
@property (nonatomic, retain) AVAudioPlayer *player;

- (IBAction)sounds01;

// 実装ファイル
@implementation hogeViewController

@synthesize player;

- (IBAction)sounds01 {
	
	NSString *path;
	NSURL *url;
	
	path = [[NSBundle mainBundle] pathForResource:@"0_1" ofType:@"caf"];
	url = [NSURL fileURLWithPath:path];
	self.newPlay = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
	
	// ここでループの回数を指定する。無限の場合はマイナスの数値を指定。
	self.newPlay.numberOfLoops = 0;
	self.player = self.newPlay;

	//サウンドを鳴らす	
	[self.player play];
}

// 必要なフレームワークはAVFoundation.framework

○コメント
ループの回数等も指定できるので、通常はSystemSoundIDではなくこちらを使うべきだと思います。
SystemSoundIDだとAdmob広告などを表示させるだけで、ネットワーク通信を使うので音量調節ができなくなりますしね。

今までにアプリをレビューしていただいたサイトさま一覧(確認できた分だけ)



レビューサイトさまにアプリが掲載されるとDL数や認知度が大幅に上昇するので、iPhoneアプリ開発者にとってレビューサイトさまの存在はとてもありがたいものです。
今回は、今までに私が開発したアプリをレビューして頂いたレビューサイトさまをご紹介します(いまざっと確認できた分だけ)。アプリの寄稿記事を依頼したい場合などに参考にしてください。


AppBank


いわずとしてた、iPhoneアプリレビューの大手巨大サイトさま。毎日便利だったりおもしろいアプリをウェブサイトでご紹介してます。
また、ウェブサイトだけでなくAppBankのiPhoneアプリから人気のアプリやセール中のアプリなどを見ることができます。とっても便利なのでダウンロードしてみるとよいと思います。ちなみに、AppBankさまにアプリが掲載されると、アプリのDL数がキューンと増加しますw


ぜひいま売り出し中の音DEレインボー音DEレインボー for iPadあたりもレビューしていただきたいですなw ちなみにAppBankさまは最近原宿・渋谷間にAppBank Storeの実店舗をオープンしたようです。うーん、すごい。


iPhone女史


女の子にターゲットをしぼった、女子必見のアプリレビューサイトさま。昔はスマートフォンユーザーというと男性のイメージがありましたが、いまやiPhoneはたくさんの女子に使われているので、そんなiPhone女子ユーザーはとっても便利。女の子目線だからこそ、本当に女子に便利なものがそろってます。あなたが女の子なら、とりあえずTwitterでフォローしてみてはいかがか。



あっぷりぃ


iPhoneやmixiアプリのレビューサイトさま。ユーザーがレビューやクチコミ、画像をアップできます。星印でアプリを評価もできます。新しいアプリを買うまえに、itunes app sotre以外にこちらで評判を見てみてもよいかも?


キッズアプリCOM


幼児から使える、子供向けのアプリのレビューサイトさま。私の開発したアプリはけっこう子供に喜ばれるものが多いので、こちらに掲載していただけるととてもうれしいですね。



Apple Fan


女性目線、男性目線の2つの切り口でアプリをレビューされているサイトさま。寄稿文を掲載していただいたときのメールがとても丁寧だったのが印象的でした。


とりあえず今ざっと調べた感じではこんな感じです。

アプリを紹介していただいたサイトさまは他にもたくさんありますが、実際にアプリを使ってレビューをして頂いている、もしくは寄稿文を掲載して頂いたサイトはこれくらいかなという感じです。

他にも下記のようなサイトさまが有名ですね。こちらにも私の開発したアプリは紹介されています(レビューではないと思います。)

meet i
Touch Lab
iPhone 研究室
iphone女子部

そういえば、iPhoneアプリやiPadアプリを紹介している書籍や雑誌はたくさんあると思うのですが、私のアプリも掲載してほしいなぁw