F@N Ad-Tech Blog

株式会社ファンコミュニケーションズ nend・nex8のエンジニア・技術ブログ

広告枠を取り直してはダメっ!? 〜 [nendSDK Error] IE501: エラーの時の対処法。〜


ハァイ! iOS&Android の見た目がいつもチャラいほう、eです。 今回は以下のテーマについて、お話をしたいと思います。  

広告枠を取り直してはダメっ!? 〜 [nendSDK Error] IE501: エラーの時の対処法。〜

 iOS向け nendSDK を組み込み時 の エラーコードのお話になります。ソースコードのお話でなくて残念です。

 対象は、iOSアプリを開発されていて「nendSDK iOS」を利用される各メディアパートナー様です。

 元々、NSLogでざっくりと出力されていたnendSDKの「エラー内容」ですが、v1.3.0から数値や文言を見直すなどして在る程度原因が解るように変更されています。更に、v2.0.0以降は、大幅なロジック変更とともに、一部、より細分化されるようになりました。特に800,700系。

 ちなみに、v2.0.0以降では NADViewのプロパティ、isOutputLog に NO を設定していると、該当のエラーログは出力されませんのでご注意ください。   ところで、よく問いあわせのある [nendSDK Error] IE501: [DeliveryBase::_deliveryMainLogic] Cannot display ads. これ。

メッセージは「表示出来ない!」それだけしか書いてませんよね。これじゃちょっと原因が解り難いですね、とりあえず今のところは「表示出来る広告がないよー」「在庫切れだよー」という意味で覚えておいてください。ちょっと前のSDKだと、「Ad is out of stock.」で出ていたんですが、最近はこれで出るようになってるみたいです。  

で、「広告切れ」「在庫切れ」って何?

これ、実は、表示出来る広告がアドネットワーク上からすべてなくなった、という意味ではないのです。(…絶対に可能性がない、とは言い切れませんが)

簡単に言うと「その広告枠に対して配信出来る広告の在庫が無い」ってことなんですね。

でも、広告を表示したいアプリケーション側からすれば、そんな事は関係ない訳です。表示出来るかどうか、興味を持ってもらえるのかどうか、ユーザにClickしてもらえるのかどうか、そこから先へ進んでくれるのかどうか。それが問題です。そのために表示したい訳ですから、表示出来ないのなら使う意味が無いですよね。

では、「広告枠」に対して「在庫がなくなる」という事はどうして起きるのでしょうか?  

case1. Deviceの言語設定

理由:日本語以外の広告在庫が、あんまりない。 これが原因の場合が一番多いです。無い訳ではないけれど、あんまりない…ほとんど無い…というのが現状です。ちなみに、SDKの仕様として「日本語以外の場合表示しない」という事はありません。今後、海外向けの広告が増えてくれば、自然に解消されるでしょう。

 この状態ですが、実はよく起きます。何故かというと、XcodeiOS SDK のバージョンが新しくなったとき、各シミュレータも同様に入れ替えられていますよね。その際、言語設定も初期化(デフォルト:英語)されています。しかも今時期のように、新しいOSが発表された後は、次期OSにいち早く対応するため、頻繁に開発環境を入れ替えたりする人もいらっしゃるかと思います。また、GM版が出てから、いや公式版が出てから…という人も、やはり入れ替え作業は必ずされるはずです。

【参考】 Xcode - Applehttps://developer.apple.com/xcode/

 新しい iOS SDK が出るたびに、日本語に戻さないといけないのは面倒ですが、今はそんな原因もあるにはあると、ひとつ、覚えて頂けると幸いです。ちなみに、サンプルIDでは英語でテスト広告が出るようになっていますので入れ替え時にまずはそちらで試してみるのも一興です。  

case2. 広告枠が承認されてから間もない

理由:広告枠が承認されてから、配信データが作られるまで時差がある 承認メールが届いても、「申請した内容に対しての【承認】が完了した」という意味なので、そこから実際に表示出来る広告が用意されるまでに少し時間がかかります。この間、広告枠は「アクティブ」にこそなりましたが、広告のデータが未だないので、在庫がないのと同じ状態になります。データの作成まで最速で30分程ですが、タイミングや時間帯などにもよるため、実際のところ「承認されてから広告が表示出来るまでには1時間〜数時間かかる」と考えて頂いた方が良いです。「App Store に申請したアプリが Ready for Sale になってから実際にStoreに反映されるのに少し時間がかかるのと同じ」くらいに思ってもらえると助かります。  

case3. 広告枠のブロック設定

理由:表示可能な広告をすべてブロックしてしまい、表示出来る広告がなくなった。 例えば、「18禁制限」の広告枠というのが存在します。これだけですと、全年齢向け広告+18禁広告という一番広告の在庫数が多い設定に見えるのですが、18禁の広告を表示する訳ですから、必然的にアプリのレートは18禁(17+)である、ということになります。また、その内容によっては全年齢向けの広告を配信しないという判断をされる場合があります。この時、残された18禁広告をブロックしてしまうと、すべての広告が配信出来ない事になり、半永久的に在庫切れの状態となります。間違って一度18禁対象なんかにしてしまった場合にもあり得るかもしれませんので、18禁制限、もしくは18禁を掲載しないように変更していて、何故かずっと501が出続ける…という方は、広告枠を作り直す前に、まずはあなたの有能な担当者へお問い合わせください。

 

まとめ

 そもそも、在庫切れ以外にも広告が表示出来なかったり、うまく行かない場合は、何かしら原因があるものですので、広告枠を取り直して直る、という事は通常ありません。もしあるとすれば、それは再作成の必要がない、一時的な問題だったかもしれません。まずは、公式ヘルプなどのリファレンスを確認する、それでも特定出来ない場合は、出力されているエラーコードとメッセージ、利用している開発環境、該当する端末など、詳細情報を添えて、問い合わせてみてください。ググるよりは、正確なはずです。

【nend】メディアパートナー向けヘルプ

※メディアパートナー様としてログインしていないと閲覧は出来ません。  

次回予告。

 iOS 7 配信目前、5sの行方。

次回、「#4 The quiet before the storm. 嵐の前の静けさ」 See ya!