サイトとアプリ運営に関するメモ的なブログ

自分で運営しているブログとかアプリについて書くところ WEB広告とかSEOがらみの話題が多くなるかも

UnityのScreen.safeAreaを使うとRectTransFormのAnchorがずれてしまう問題

UnityにはiPhoneXに対応するためにScreen.safeAreaという機能があるのだけれど、これを使ってみたところ、iPhoneX以外の端末でuguiの表示サイズがおかしくなる問題が多発した。

Screen.safeAreaはiPhoneX以外の端末ではスクリーンのサイズを返すのだけれど、uguiの Reference Resolution などを使ってアプリ内部の解像度設定を変えていると、そちらの数値を取得してしまい、端末のディスプレイサイズとの間に齟齬が生じるらしい。

そのずれを抱えたまま、safeArea向けにguiのRectTransFormのAnchorの位置を設定すると、guiの表示位置もまたずれて表示されてしまう、という問題が発生する。

この影響で、ユーザーから画面が左下に寄り、縮小されて表示されている、という不具合報告が多数届いた。

あるいは逆に、拡大されすぎてアプリの一部分しか表示されていなかったりした。

ちゃんと実機でテストしなかったのが悪いのだけれど、この現象はシミュレーターでは確認できなかったので注意が必要だと思う。

色々と試したが、結局はScreen.safeAreaを使った処理はiPhoneXでしか動作しないようにしたところ、この問題が解決した。

 

具体的には、

 

//ディスプレイのサイズを取得
var display = Display.displays[0];
var screenSize = new Vector2Int(display.systemWidth, display.systemHeight);

 

//iPhoneXのディスプレイサイズでのみ動作する条件を設定
if(screenSize.x == 1125 && screenSize.y == 2436 || screenSize.x == 2436 && screenSize.y == 1125){

//以下にsafeAreaに関する処理を記述

}

 

上記のように、iPhoneXのディスプレイサイズでのみ動作するように条件を付けた。
今後、同じサイズでiPhoneXタイプでない端末が出たらやっかいだけど、いまのところはこれで問題ないようだ。

もしかしたらそのうちAndroidで同サイズの端末が出るかもしれないので、iOSでしか動かないように、さらに条件を加えておいてもいいかもしれない。

iOS.DeviceGeneration.iPhoneXで見分けることもできるらしいのだけど、DeviceGenerationはしばしば認識しそこなって、unknownを返すことがあるそうなので、使用はやめておいた。


AWS Device Farmを使ってみた

実機のテストにはAWS Device Farmを使用した。
テスト時間が1000分までは無料で、さらにテスト中の動画が見れるので、ちゃんと表示ができているか確認できて助かった。
無料分が切れると1分17セント(19円くらい)になるらしい。
このくらいの価格なら、実機を揃えるよりはるかに手軽だし、今後も使っていくことになりそうだ。

aws.amazon.com


iPhoneX対応はめんどうなことになりそうな予感がしていたのでサボっていたのだけれど、対応してみたら案の定、トラブルが発生した。

もしかしたら1年限りでXタイプは消えるんじゃないかと思っていたこともあって、対応を伸ばし伸ばしにしていたのだけど、どうやら今年はXタイプが3機種も出るらしい。

なので観念して対応したが、今後もトラブルの原因になりそうで、不安を感じている。

記事のリニューアルの必要性と、個人運営の限界

ここ半年ほど忙しくて、ほとんどサイトを更新していなかったら、じわじわとアクセス数が減少してきた。
放っておいてもアクセス数が維持されるのが理想なのだけど、そううまくはいかないようだ。

サーチコンソールで確認してみると、公開してから2年くらいが経過したコンテンツの検索順位が下がっていて、アクセスを呼び込まなくなっていた。
といっても全部のコンテンツの順位が下がっているわけではなく、状態はまちまちだった。

どうしてそういう差がでるのかというと、対象としているキーワードで記事を作る人が他にもたくさんいると下がりやすく、そうでないと下がりにくい、ということなのだろう。

そういった、類似の記事が制作される頻度が高いコンテンツは、公開してから2年程度が経過した頃から、順位が下がっていく傾向にあるようだ。
なので検索流入が多いコンテンツは、1〜2年ごとに記事をアップデートした方がよいと思われる。

先日、検索順位が下がってきた記事を更新してみたところ、そのあたりのタイミングから順位が上昇に転じた。
5000字くらいのコンテンツだったのだが、1万字以上に増やし、解説画像も追加して情報量を大幅に増やした。
この措置によって、コンテンツの価値が上昇したと評価されたのだろう。

そのキーワードである程度の順位を確保していると、記事を更新したり、新しく追加した際に、順位が上昇しはじめるまでの時間が短くなるようだ。
なので順位が下がってきたら、なるべく早く更新した方がよいと思われる。

個人運営の限界

こうして定期的な記事のアップデートが必要になってくると、新規で記事を増やす時間的な余裕がなくなってくる、という問題が生じる。
個人でサイトを運営する場合には、このキーワードで上位を取りたい、というターゲットをしぼりこんで、それを維持するように努めた方がよいのかもしれない。
闇雲に記事を増やしていくだけでは、アクセス数の維持は難しくなるようだ。
作ったはしから、以前に作った記事のアクセス数が下がっていくようでは、自転車操業になってしまう。

サイトを個人運営していると、どこかの時点でアクセス数の最大値に限界が発生し、維持する、という方向に転じる必要が出てくるのだろう。
それを乗り越えるには、ライターの数を増やす必要があるのだけど、それほど収益性が高いわけではない、半分は趣味のサイトなので、そこまでやるのは難しい。

ビジネスとして本格的にサイト運営をする場合には、収益性の高いジャンルとキーワードを絞り込んで、ねらいうちで検索上位を取り、維持していかないといけなくなる。
自分で楽しみつつ、記事を作ってお金も稼ぐ、というスタンスを好んでいるので、今のところはそこまで踏み込む気はない。
もっとサイト運営で稼ごう、という気になったら、やってみるかもしれない。

今さらながら、Unityで作ったアプリのiPhoneX対応を開始した

今さら感が強いけど、空き時間ができたので、Unityで作ったアプリのiPhoneX対応を開始した。
すっかり放置していたせいで、ダウンロード数が伸びないし、アクティブユーザーも減少するじり貧の状態が続いていた。
アップデートで歯止めがかかるとよいのだけれど。

それはさておき、アプリ改修の際に参考になったページをまとめておく。

SafeArea対応

unitech.hatenablog.com

SafeAreaに対応するための、uGuiに設定するスクリプトが紹介されている。
これをpanelに貼ってSafeAreaに収めたいUI要素を入れ込むと、iPhoneXの環境でのみ、上下の隙間が自動的に空く。
ただ、エミュレータで見た限りでは、横向けにした時にうまく動かなかった。
これはこちらの設定の仕方の問題なのかもしれない。
横向き対応はもうなくてもいいか、メンテナンスも大変だし、と思って削除することにした。
別になくてもいい機能をアプリに組み込むと、メンテナンスの手間が増大してしまう。
なので不要な機能、ほとんど使われていない機能はばしばし削っていった方がよい。

iPhoneXでのみステータスバーを表示する

unitech.hatenablog.com

こちらも同じサイトの記事で、iPhoneXでのみステータスバーを表示するためのスクリプトが紹介されている。
iPhoneX以外でもステータスバーを表示すると、表示位置の調整に手間がかかりそうだったので、こちらを導入した。
テストしてみたところ、きちんと動作した。
画面の解像度で制御しているようなので、今後iPhoneXのバリエーションが増えたらメンテナンスが必要になるかもしれない。

AdmobのSDK

iPhoneXで広告がうまく表示されていなかった(縦幅が5pxくらいしか表示されない状態になっていた)のだけど、SDKを最新のものにしたら解決した。

一応リンクを貼っておく。

Google Mobile Ads SDK  |  Google Mobile Ads SDK for iOS  |  Google Developers

Admobのプラグイン

Admobの表示にはアセットストアで買ったプラグインを使っていたのだけど、Google謹製のプラグインが出ていたのでそちらに乗り換えた。
特に何もしなくても、SafeAreaに自動的に対応してくれるので楽ちん。

developers.google.com

導入したい広告タイプごとにサンプルコードが掲載されているので、実装は簡単だった。

 

全体として、iPhoneXが出てからだいぶ時間が経過しているので、既にノウハウができあがっていて、思ったほど時間がかからずに対応ができた。

今年発売されるiPhoneの噂を見るに、どうやらAppleはiPhoneXのバリエーションを増やす方向で進んでいくらしい。
もしかしたらあのへんてこなデザインは一年こっきりで消えるんじゃないかと思ってアップデートをさぼっていたのだけど、どうやらかなわない望みらしいとわかったので、あれこれ調べて対応した。

そろそろスマホを新しくしたいので、そんなに高くないSIMフリーiPhoneが出たら買う予定。

AMPを導入したら、直帰率が大幅に低下した

先週、運営しているサイトにAMPを導入してみた。

(AMPはGoogleTwitterなどが推進している、WEBページを高速で表示するための規格のこと。これに対応するとGoogleがページをキャッシュし、検索の対象に加える。)

そしてアクセスデータを確認したところ、AMP対応をしたページでは、直帰率が大幅に低下していた。

具体的には、それまでは50%だったのが、30%になっていた。

これに伴って、セッションごとのページの閲覧数が増加し、サイトの滞在時間も伸びている。

つまりはユーザビリティが大幅に改善された、ということになる。

表示を高速化するとアクセス指標が改善される、というのはよく言われていることなのだけれど、AMPにここまで効果があるとは思わなかった。

(逆に言うと、今までは表示の遅さのせいで、かなりの数のユーザーが閲覧を終えずにサイトを立ち去っていた、ということだ)

広告のCTR(クリック率)についても、AMP対応をしていないページよりも、パフォーマンスがよくなっていることが確認できた。

ページのコンテンツを最後まで閲覧するユーザーが増えたことで、広告の視認率が上がったことが影響しているのだろう。

AMPには色々と制限があって、全てのページに導入するのは難しいだろうけれども、テキストが主体のページや、検索流入を重視しているランディングページなどには、積極的に導入していった方がよいと思われる。

初期の頃はGoogleアナリティクスの解析データがうまく結合できないといった問題もあったようだが、今は解消されている。

また、AdSenseなどの広告の表示も高速化がはかられており、こちらの面でもさしたる問題はないようだ。

環境が整ってきているので、今頃がAMPを導入するのに、適したタイミングになっているのではないかと思われる。

Google Adsenseに「軍事」というジャンルがいつの間にかできていた

AdSenseの「広告の許可とブロック」の画面を見ていたら、「法律、行政」のカテゴリの中に「軍事」というサブカテゴリがあった。

「軍事訓練や教育。軍隊や軍人を支援するためのサービス」という解説があり、私の運営するサイトでは、5%もの割合で表示されていたらしい。

私のサイトでは歴史を取り扱っているので、戦争に関する記事も多い。

その影響で軍事と相性のいいサイトだと認識されて、表示の割合が大きくなっていたのだろう。

収益に占める割合がかなり低かったのと、サイトの雰囲気が悪くなるので、カテゴリごとブロックした。

自分でサイトを見ていて、「ハル・ノートの真実」とか「日本軍はかつてどうして最強だったのか」とかネトウヨが喜びそうな、歴史修正主義的な広告が出るのが不快だったのだけれど、どうやらこの軍事カテゴリの影響だったようだ。

これらの広告を出している出稿元もついでにブロックしておいた。

それにしても、カテゴリができるということは、広告の出稿数がそれだけ多いということで、昨今の世相を反映する事態ではあるのだろう。

とは言え「法律、行政」の中に「軍事」を含めてしまうAdSense運営のセンスはよくわからない。

Adsenseの自動広告を1ヶ月ほど使ってみた

Google Adsenseの自動広告を、1ヶ月ほどお試しで使用してみた。

(自動広告とは、Google側で自動的にサイトの構造を解析し、最適と思われる場所に広告を表示する、というAdsenseの新機能のこと。)

結論から言うと、使わなくてもよさそうだ。

ページRPM(ページの閲覧ごとに発生する収益額)は前年の同月と比べてやや下がり、収益性の向上は認められなかった。

一方で、サイトの状態を自分で確認しにいくと、ページが広告だらけになっており、デザインやユーザビリティの観点からすると、非常によろしくない状態になってしまっている。

アナリティクスでデータを見ると、ユーザーの滞在時間には変化がなかったものの、長期的にはマイナスの影響が大きくなってくるだろう。

自分でも、広告が過剰なサイトは何度も見に行こうとは思わないし。

手動で適正な位置に広告が配置できている人にとってはあまり意味がなく、よくわからないから自動設定に任せてしまいたい、という人には有効なのかもしれない。

Google Adsense の「広告の許可とブロック」を使うと、どんな広告を掲載すればいいかがわかる

しばらく更新していませんでしたが、相変わらずサイトの運営は継続しています。

今回はGoogle Adsenseの「広告の許可とブロック」についての記事を書いてみようと思います。

Adsenseのページのサイドバーに「広告の許可とブロック」のリンクがありますが、ここを開いて「一般カテゴリ」や「デリケートなカテゴリ」のタブを操作すると、サイトに配信される広告のジャンルを制御できるようになります。

過去30日間の「広告表示回数の割合」と、「収益の割合」が表示されていますので、それを参照して判断していきます。

表示回数の割合よりも収益の割合が高い場合、それはサイトにとって相性のいいジャンルだということになります。

逆に表示回数の割合よりも収益の割合が低い場合には、相性が悪いジャンルだということになります。

例えば、「インターネット、通信事業」の表示割合が10.5%で、収益割合が13.3%だったとします。

この場合は訪問者の関心が高いことがわかりますので、このジャンルの広告は表示した方がよい、ということになります。

これとは逆に、「趣味、ゲーム、レジャー」のカテゴリは表示割合が12.5%なのに、収益割合が6.6%しかない状態だったとします。

この場合はゲームに関心を持つユーザーはあまり訪問して来ないので、ブロックした方がよい、ということになります。

「許可またはブロック」というボタンが設置されていますので、それを押すことで簡単に設定ができます。

ブロックしすぎに注意

あまりに多くのカテゴリをブロックしすぎると、広告の配信量が減ってしまい、単価が下がることにつながりますので、やみくもにブロックをするのは避けた方がよい、とされています。

個人的には、表示割合の半分程度しか収益割合がないような、はっきりと相性の悪い広告カテゴリはブロックすることにしています。

例にも出しましたが、実際に私の運営しているサイトではゲームカテゴリとの相性が悪く、収益割合がかなり低いです。

出稿されることが多いカテゴリのようで、表示割合が高いので、収益にはそれなりにマイナスの影響を与えていることが考えられました。

このためにブロックしておいた方がよいだろう、と判断をしています。

サイト訪問者の傾向・嗜好がわかる

また、このデータを利用することで、サイトの訪問者がどのようなことに関心が強いのかを理解することができます。

ページのトップにはおおまかなカテゴリが表示されているのですが、もっと細かくデータを知ることもできます。

たとえば「美容、パーソナルケア」のカテゴリをクリックすると、「スキンケア」や「ヘアケア」といったサブカテゴリが表示されます。

それらのカテゴリごとにもデータが見れますので、具体的にどの広告カテゴリの人気高いのかを知ることができるのです。

私のサイトですと、ヘアケアは表示割合が3%程度なのに、収益割合は4.5%くらいあります。

つまり、ヘアケアの広告を表示すればクリックされる可能性が高いとわかるわけで、AdSenseとは別に、ASPからヘアケアの広告を探してきて掲載すれば、さらに収益を高められるかも、といったことがわかるわけです。

このあたりはAdSenseを掲載することの余録のようなものですので、しっかりと活用して行きたいです。