今日の一言
2013/04/08(Mon) Microsoft Advertising SDKで追加したadがエラーになる(表示されない)場合 [長年日記] 編集 20:00現在 12℃
_ 開発中の場合、pubCenterで発行したApplicationIdおよびAdUnitIdは使用できない。
そのため、開発中にAdが正常に表示されるかのテストを行いたい場合は、以下のURLに書かれているテスト用のApplicationIdおよびAdUnitIdを使用する。
http://msdn.microsoft.com/en-us/library/hh506361.aspx
※アプリ内で複数の異なるApplicationIdを使用した場合、それが原因で別のエラーになるため、上記を試す場合には、一括で置換することをお勧めする。
上記のIDに変更しても表示されない場合、以下の方法でErrorのイベントを取得することができる。
http://msdn.microsoft.com/en-us/library/advertising-windows-adcontrol-error-handling.aspx
もし、以下のようなエラーが出ている場合、ad:AdControlにWidthおよびHeightが指定されているかを確認する。
Error = {"Invalid value for parameter (Name: w)."}
これらを踏まえると、ad:AdControlは以下のような指定になる。
<ad:AdControl x:Name="ad1" Grid.Column="2" Width="292" Height="60" ApplicationId="d25517cb-12d4-4699-8bdc-52040c712cab" AdUnitId="10043074" HorizontalAlignment="Right" ErrorOccurred="ad1_ErrorOccurred" AdRefreshed="ad1_AdRefreshed"/>
もし上記でも表示されない場合、「Package.appxmanifest」で「インターネット(クライアント)」または、「インターネット(クライアントとサーバー)」のどちらかが指定されていることを確認する。
※なお、当然であるが、PCがインターネットに出られない状態だとadは表示されないので注意が必要。
2013/04/18(Thu) Windowsストアに1つアプリが載った [長年日記] 編集 21:30現在曇 18℃
_ [Windows][Windows8] Windows Storeアプリで表示名(display name)をローカライズする
Manifestファイルに直接名前を入力してしまうと、全言語でその名前が使われてしまい、多言語対応のアプリ等で困る場合がある。
その場合、以下のようにしてローカライズ(localize)する。
1. 各言語のリソースファイル(Resources.resw)に名前とその言語でのアプリ名を登録する。ここでは、例としてAppNameという名前でアプリ名を登録する。
2. Manifestファイルの「表示名」(display name)の項目に、以下の値を入れる。
ms-resource:AppName
3. 同じく、Manifestファイルの「パッケージ表示名」(Package display name)の項目にも、以下の値を入れる。
ms-resource:AppName
これで、AppNameという名前でリソースファイルに登録された文字列が、現在の言語に合わせて表示されるようになる。