Home / web小技

web小技

Google Analytics の AMP 対応

Google Analytics のプロパティにあるタグをコピペで埋め込むだけだと、AMP対応しているサイトの Analytics にセッションが反映されなかったので、調べて解決しました。

 

まず、<head>タグ内に以下を埋め込む必要があります。非同期で読み込む Analytic s用の javascript だと思います。

<script async custom-element="amp-analytics"
src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js">
</script>

次に、<body>内に以下を埋め込みます。<TARGET_ID>部分を Google Analytics の トラッキングID に置き換えます。

(トラッキングID は、Google Analytics の プロパティ>トラッキング情報>トラッキングコード から見られる情報です。)

<amp-analytics type="gtag" data-credentials="include">
<script type="application/json">
{
  "vars" : {
    "gtag_id": "<TARGET_ID>",
    "config" : {
      "<TARGET_ID>": { "groups": "default" }
    }
  }
}
</script>
</amp-analytics>

 

ソース : https://developers.google.com/gtagjs/devguide/amp

 

これで無事リアルタイムでもセッションが Google Analytics で確認できるようになりました。

デジタルマーケティング展望

Googleのデジタルウォークショップを進めていて違和感を感じたので、その違和感を雑記します。

違和感を感じたのは「実店舗マーケティング」のセクションから。

Google mapに連動した検索結果表示はjavscriptでも実装できるので、それのO2O系の広告への応用かなかと思いながらポチポチ進めていたのですが、検索連動型広告の後のセクションだったこともあり、有料メニューと気づくのに時間がかかりました。

Google mapに出稿できるメニューが今あるのですね。

自分の所在地をGPS、もしくはIPアドレス、もしくは通信基地から判別させておいて、「近くのパン屋」のような場所の対比で検索がかかった時に、別で登録されている店舗所在地情報から近しいパン屋をヒットさせる。これがオーガニックだけではなくて有料メニューになっていた。

2015年頃にビーコンを使ってO2O展開を実証実験していたときは、店舗にビーコン実装しながらこのような場所に応じた販促誘導を模索していたのに、たった3年で位置情報と店舗登録DBの照合から有料広告メニューを開発というのは、Googleすごい、開発早いの一言です。当時やっていたビーコン検証は見限ってよかった。

この変化にワークショップをやりながら触れたときに、SEOはもはやサイト誘導の次元から飛躍して、リアル店舗のデジタル化とデータベース照合の領域まできていることにようやく気が付いた。

書きながら整理しているけれど、違和感というか、気が付いたのだ。

そうすると、最近webサイトのSEO界隈が落ち着いてきて、ひたすらFraudコントロール路線になっているのはなんだか納得できてしまう。もう開発の余地が少ないのだろう、web。すごいスピードで戦いの次元がオフラインのデジタル化(DB化)になってきている。

 

こうなると、近いうちにweb広告の形も変わるだろうと予想せざるを得ない。

バナー広告は最近はことごとくサイトブロッカーに妨害されるし、アフィリエイトは了承がないとクッキーをとれないのでGDPRに従うならば本当はもう成立してはいけない手法ともいえる。

ということで早速GDPRプラグインもいれてガチガチに法令順守することにした。

さて、ユーザーに無許可でパーソナライズ広告を出せなくなるようになるということは、一昔前のターゲティングもない大量予算投下型のとにかく露出するべしYahooジャック最強的なバナー露出の選択肢しかなくなってくる。

露出の精度が技術後退している中で、Fraud技術はそのまま。つまり、黎明期以上の非効率な費用対効果でバナー出稿せざるを得なくなる。宣伝屋はそんな広告使いたくない。

じゃあどうすればよいのか?

パーソナルな広告を表示させることを半ば強制的に合意させる製品・サービスをエンドユーザーに持たせるしかない。この製品の利用には利用許諾に合意する必要があります系。Amazonとかそう。サービス利用=パーソナル化の合意。Spotifyとかもそう。

でもきっとそのうち、サービス利用のために強制的に個人情報の許諾をする手法もBanされる。

そしたら、ハードウェアに組み込むしかない。でも、それもきっといつかBanされる。

 

そういえば、ターゲティングという概念はいつこんなに細分化されたのだろう。

デジタルマーケティングの得意なところは、これだけなのだろうか。

 

というか、個人情報の利用って、「取得」と「記録」されていなければよいんじゃない?

 

きわめてアナログに、宣伝担当者が「この人はこういうことが好きだよね」と把握していればGDPRのviolationではなくない??

 

それって、とてもローカルというか、親近感のある広告になるのではないか。すごいうちわっぽいけど。そういう宣伝手法を、実はツイッターとかコミケとかで見かけているのは気のせいではないのではないか。

 

個人情報の「取得」と「記録」と「照合」をデジタル化で高速化してスケールしたのが2018年までで、これからのその行為が制限されていくならば、「取得」をせずに「調査」から「予想」して「当てに行く」宣伝が、ひとつのアプローチとしては考えられる。

 

それってAIじゃーん。

PCで動くandroidエミュレーターまとめ

Windows PC上で動作できるandroidエミュレータ―を勉強のためにまとめてみました。

なにができるかというと、スマホアプリがPCで操作できるようになります。

インストール方法や操作方法は割愛!想像し得る用途重視で、こんな風に使えそうだなをまとめます。

BlueStacks

URL: https://www.bluestacks.com/ja/index.html

Age of Empireで有名な某LOLぷろ氏がつぶやいていたエミュレータ―。

ということは、おそらくRTS系のスマホアプリ界隈では割とメインで使われているんじゃないか疑惑。

Vaingloryとかできたらこれ使うプレイヤーが勝つに決まってるじゃん系。てか普通にVaingloryある。

MEMU PLAY

URL: http://www.memuplay.com/

RTSがあればFPSもある。今度はPUBGを押してくるエミュレータ―。

きっとレスポンスが速いのでしょう。

なお、PUBGは公式でスマホアプリのPCエミュレータ―があるので、どういうことだ状態。

そのPUBGスマホアプリ公式のPCで動作するエミュレータ―がこちら。

Tencent Gaming Buddy

URL: https://syzs.qq.com/en/

なぜスマホ版を出したし。PUBGのスマホアプリが公式でPCでできます。

PUBGのスマホ版で勝てない?そういうことです。

NoxPlayer

URL: https://jp.bignox.com/

ドールズフロントラインのバナーが出てきてて、そういうことかと察してしまう大手エミュレーターの一角。

非公式ブログが公式からリンクされている、なかなかそういうことかなエミュレータ―。

ということは、ドルフロのあれはなるほどそういう仕組みだったのか感。

GenyMotion

URL: https://www.genymotion.com/

クラウド版とデスクトップ版が選べるエミュレータ―。

クラウド版があるということは、Puffinでできたあれができてしまいます。あわわ。

これまた、なかなかそういうことでしたか、なエミュレータ―。

どっちかというと通信の多いもしくは通信部分が肝な案件でつかいたい。IPとか自分でつくらなくていいし、そうクラウドならね。

 

それ以外

他にも、開発者向けを加えればかなりの数が流通している。当初は英語圏製が主流というか少数存在していたが、然るべき目的のために中国語圏でのサービスが増えてきたという印象。

  • KOPLAYER
  • YouWave
  • AMIDuos
  • Andy
  • Remix OS Player
  • Android Studio
  • Xamarin
  • Windroy

国内でもビジネス化の動き 「shift for Docomo」

この怪しい動きになんとDocomoが同調。昨日8月22日にスマホゲームがPCで遊べるサービス「Shift for Docomo」が発表されています。

そしてサービス開始は本日8月23日から。

発表URL: https://www.nttdocomo.co.jp/info/news_release/2018/08/22_00.html

以下、報道文章より一部抜粋です。

株式会社NTTドコモ(以下、ドコモ)は、スマートフォン向けゲームアプリをパソコンでも楽しむことができるゲーム配信プラットフォーム「Shift for docomo」を2018年8月23日(木曜)から提供開始します。

「Shift for docomo」は、スマートフォンで遊んだゲームアプリを、同じゲームデータを引き継いで、パソコンで続きをプレイすることができるなど、スマートフォンとパソコンを連携させた使い方が可能なプラットフォームです。同じゲームデータを利用することで、外ではスマートフォン、家ではパソコンと、遊び方が広がります。

「Shift for docomo」は、Shift Games株式会社が提供するゲーム配信プラットフォーム「Shift」を、dアカウント®をお持ちのお客さま向けにカスタマイズしており、ゲーム内での決済に対してdポイントが貯まるとともに、貯まったdポイントを有償アイテムの購入などに充てることができます。また、ゲーム内での決済をドコモの携帯電話料金の支払いと合算できる「ドコモ払い」の利用も可能です。

「Shift for docomo」の提供開始時点では、女性を中心に高い人気を誇る「戦刻ナイトブラッド 光盟」(株式会社マーベラス提供)がお楽しみいただけます。また、「BRAVELY DEFAULT FAIRY’S EFFECT」、「VALKYRIE ANATOMIA-THE ORIGIN-」、「刀使ノ巫女 刻みし一閃の燈火」(株式会社スクウェア・エニックス提供)、「ウイニングイレブン カードコレクション」(株式会社コナミデジタルエンタテインメント提供)の事前登録の受付も8月23日(木曜)より開始します。今後も更なるラインアップの拡充を予定しています。

既に始まっているスマホ市場の大きな変化

このような動きは、色々なとらえ方があると思います。

ただ、第一にはスマホアプリだからといって、スマホで遊んでいる人が全てと限らないこと。第二に、ドコモの参入によって、それが無視できない数存在する、ということが示唆されていることは否定できないかと思います。

これまでマニアックな層がアンダーグラウンドで使用してきたツールが国内大手の参入でどういう変化をもたらすか注目です。

NintendoDSの時のマジコンみたいな状況にならないといいのですが。

ファイルがどうしても解凍できない時の解決法

最近、いつも解凍できていたフォーマットがなぜか解凍できなくなった。

いろいろ調べた結果、解凍ソフトが古いと解凍できないフォーマットが出てきているようです。

該当するエラーは次のような場合です。

「~は利用できない場所を参照しています。このコンピューターのハードドライブ上、またはネットワーク上を参照している可能性があります。このコンピュータのハードドライブ上、またはネットワーク上を参照している可能性があります。ディスクが正しく表示されているか~」

上記が表示された場合は、解凍ソフトのバージョンが古い可能性があります。

特に、Lhaplusだと2015年から更新されていないようで、最新のrar形式などでは解凍エラーがでます。

 

解決策としては、以下のような解凍ソフトに切り替えるしかないようです。


これでひとまず解凍できるようになったので、よかったよかった。

Pokemon Goの裏技 -地理的な不利を乗り越える―

ポケモンGoが流行っていますが、プレイヤーによって進み具合が違います。

ジムを占拠しているプレイヤーはもうカイリューを2~3体持っていて、いずれもCP2,000以上。

一方で、一般プレイヤーはおそらくLv15近辺で、CPも高くて1,100くらいが1体いる程度ではないでしょうか。

この差が生れるのは、位置情報を利用したゲーム特有の不公平さが発生しているから。

周辺地域のポケストップの多さによって、進む速さに大きく差が出ます。

また、ポケモンの巣窟と呼ばれている、特定ポケモンが大量発生するエリアへのアクセスの良さも、進み具合に差を生みます。

どんなにゲームが好きでも、交通費が捻出できなかったり、移動手段を持っていなかったりと、ゲーム以外の要素で格差が生まれてしまう設計になっています。

正直、この設計は公平ではないので、あまり好きではありません。今後出てくる位置情報を活用したゲームは、この部分をどう解決するかが一つの論点になると考えています。

(位置情報をプレイヤーの強弱に直接紐づける設計をとるか、とらないかの選択。)

 

この設計にイライラしているプレイヤーも少なくはないでしょう。

 

というわけで、これはこれで公平ではありませんが、地理的不公平を乗り越える裏技があったので、そのやり方の一部だけ紹介します。

 

やり方

とっても簡単で、GPS情報偽装アプリを入れます。「FakeGPS」とかでGoogle PlayやAppStoreを検索すればたくさん出てきます。

アプリのレビューに世界各国のユーザーがポケモンGOでの検証結果を書いているので、参考になります。なお、隠語なのかポケモンGOはPOGOと呼ばれています。

しかし、アプリをインストールしただけではGPS情報を偽装できません。正確には、GPS情報は偽装できるものの、ポケモンGOに対して偽装情報を反映できません。

課題

GPS情報偽装アプリを使いながらいろいろ試した結果、以下のような仕様になっていると予想される挙動をしました。これらを乗り越えないと、偽装したGPS情報でポケモンGOを進められません。

  1. スマホ本体のGPSがONになっていないと、ポケストップの起動やポケモンの捕獲ができない
  2. ポケモンGOは一定周期で、スマホ本体のGPS情報を読み込んでいる
  3. 瞬間的に長距離移動した場合、一定時間ポケストップの軌道やポケモンの捕獲ができない
  4. ポケモンGoの読み込むGPS情報は、アプリが偽装したものよりもGPSセンサーが取得した情報を優先する

特に、1と4を同時に解決することがポイントとなります。スマホ本体のGPSをONにしながら、GPS情報偽装アプリを使い、GPSセンサよりも優先的にポケモンGOに偽装GPS情報を読み込ませる。

これは、周囲の環境が大きく影響し、再現可能な条件が細かいので、細かくは記載しません。

試す場合は、ポケモンGOならびに、スマホ本体への影響についても自己責任で。

 

ちなみに、上手にGPS情報をいじるとポケモンの卵も孵化させられます。

 

おすすめポケモンの巣窟

上野公園や錦糸公園は、人が多いためルアーがついているポケストップが多く、ポケストップ自体の数も多くておすすめです。

 

あとがき

やり方がはまれば再現性が高いので、いつでもポケモンの巣窟にワープすることができます。巣窟に行けばポケモンはたくさんいるし、ポケストップも多いので補充も十分できる。格段にゲームのスピードが上がります。

このやり方が分かってから、ポケモンGOを極める意味がだいぶ薄れたので、このゲーム、意外と寿命が短いかもしれません。

Ingressは、ポータルを生やすのに現地の写真が必要だったので、偽装GPS情報だけではレベル上げしかできませんでした。

将来的に公平なゲームを目指すときに、偽装GPS情報に対処するには、GPS情報のほかに、そのプレイヤーが実際にそこにいる、という証明をさせる手段をいれないといけません。

位置情報の証明書みたいなものか、IPアドレスや基地局で判断するか、いずれにせよ通信量は大幅にあがりそうだなぁ。

【WordPress】さくらのレンタルサーバーでSSL化する

さくらのレンタルサーバーでホストをしながら、WordpressをSSL化をするとき、少し手間取ったのでメモを残しておきます。

問題

さくらのレンタルサーバーでSSLを有効にしたが、https://でサイトにアクセスするとブラウザでエラーが表示されて、サイトが閲覧できなかった。
利用サービスは「さくらのSSL」で、Rapid SSLを使用。なお、さくらのSSL経由で認証局への手配やら、暗号鍵のサーバーインストールは正常に完了している。

原因

さくらのレンタルサーバーはSSL通信をする際、さくらのサーバーからリダイレクトをかけていた。

参照:さくらレンタルサーバーのサポートページ

「さくらのレンタルサーバ」にて提供しているウェブサーバApacheは、 80番ポートを使用する(HTTP)ものと、 443番ポートを使用する(HTTPS)ものとの 2種類に分けられます。 また、後者についてはプロクシとして動作します。 一般的に、前者は「http://」、後者は「https://」という形式でアクセスしますが、 同じディレクトリへのアクセスであっても、その際に呼び出されるウェブサーバ が異なると、 CGIプログラムやウェブサーバが.htaccessなどのファイルを読み込む際、挙動に違いが生じます。 例えば、HTTPとしてアクセスした場合はお手元のコンピュータが、 HTTPSとしてアクセスした場合は サーバそのものがアクセス元となります。 このため、SSLのみのアクセス許可(HTTPアクセスの制限)や、mod_rewriteによるURLの書き換えはできません。
引用元:https://help.sakura.ad.jp/app/answers/detail/a_id/2325

解決方法

さくらのレンタルサーバーでSSL通信をするときに、サーバーからのリダイレクトで処理することを認識させる設定を.htaccessに記述する必要があった。

参考:さくらのレンタルサーバでHTTPS(SNI SSL)な独自ドメインのWordpressサイトを構築する際の注意点

設定の引用

※環境ごとの設定は適宜変更してください。

まず、Wordpress設置時に追加する(パーマリンク設定時に生成される).htaccessの先頭に、以下の設定を追加します。

.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
</IfModule>

次に、wp-config.phpの先頭に以下の内容を追加します。

wp-config.php
if( isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR']) ) {
    $_SERVER['HTTPS'] = 'on';
    $_ENV['HTTPS'] = 'on';
    $_SERVER['HTTP_HOST'] = 'www.example.com';
    $_SERVER['SERVER_NAME'] = 'www.example.com';
    $_ENV['HTTP_HOST'] = 'www.example.com';
    $_ENV['SERVER_NAME'] = 'www.example.com';
}

引用元:http://qiita.com/tabimoba/items/64ef60412abe7ad6f0ac

その後

上記設定でhttps://のURLが問題なく閲覧できるようになりました。一方で、サーバー側の負荷が増えたようで、これまで1.0秒以下のレスポンスタイムだったが、1.1~1.2秒レスポンスにかかるようになってしまいました。リダイレクトはさくらのレンタルサーバーの設定上、どうしようもないので、アクセスが増えて来たらリダイレクトのないサービスに移行する必要が出てくると考えています。

 

VirtualBoxが起動しないときの対処法

Linuxで遊ぼうと、VirtualBoxをインストールしたらエラーが出て起動しない。

解決方法が場合によって様々でしたが、以下の2つを試して解決しました。

 

1)NTcreate file failed
これは2015年4月のwindows updateが原因なようなので、該当するwindows updateを削除すればOK。対象となるアップデートはKB3045999。

参考:https://www.virtualbox.org/ticket/14052

2)make sure the kernel module was loaded successfully
カーネルドライバがインストールできていない場合のエラー。対象のドライバを手動でインストールすれば解決。

ドライバ①
C:\Program Files\Oracle\VirtualBox\drivers\USB\filter\VBoxUSBMon.inf
これを右クリックしてインストール。

ドライバ②
C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv\VBoxDrv.inf
これを右クリックしてインストール。

参考:https://forums.virtualbox.org/viewtopic.php?f=6&t=46845

 

以上で無事Virtual Boxが起動できました!

 

筆者環境:Windows 7 64bit

 

 

 

Linkedinのスパムに注意!

Toyota MotorsのManaging Directorを名乗るYui Yutoという方からインビテーションがあったので、「そんなはずはない」と調べてみたらやっぱりスパムでした。残念。

調べ方

  1. 大手企業なら、Managing Directorなら取締役などでコーポレートサイトに名前が載っているはずなので、同じ名前がないか確認します。
  2. もし相手が写真付きであれば、写真で画像検索をかけます。全く違う人がヒットすれば、Linkedinできたインビテーションは偽物です。

実例

私に来たスパムは、このサイトの顔写真を転載して架空の人物を作り上げていました。

URL: http://oncobiologics.com/as_senior-management

 

かなりの勢いでconnection数が伸びていたので、結構多くの人が引っかかっていると思います。一回コネクトすると、設定によっては連絡先を抜かれるので、迷惑メールとか悪質なインビテーションが増えるかもしれません。

知らない人からインビテーションが来たら、一回きちんと構え直して、調査をしたほうがよさそう!

【wordpress】.htaccessでリファラースパムをブロックする

ここ1ヶ月で、以下のドメインからのアクセスがありました。

  • forum. topic 47894964. darodar.com
  • google officialy recommends ilovevitaly.com seach shell

どちらも調べてみると、Google Analyticsのアクセス履歴に残すことによってビューを増やそうとする「リファラースパム」ということがわかりました。

アクセス数は大したことがないものの、放置するとサーバーに負荷がかかってよくないので、以前のsemalt.comの時のようなやり方で対処をしてみました。結果、アクセスをブロックすることができました!

 

.htaccessに以下を追記

SetEnvIfNoCase Referer ilovevitaly.com spammer=yes
SetEnvIfNoCase Referer darodar.com spammer=yes
SetEnvIfNoCase Referer agulkexmag.com spammer=yes

Order allow,deny
Allow from all
Deny from env=spammer

スパムな挙動をするドメインをspammerに指定して、アクセス拒否のdeny from~でブロック。

これで邪魔なリファラがなくなりました。よくある対処法では、Google Analyticsにフィルタをかけるのですが、それだとサイトにアクセスが来ることは防げていないので、無用なサーバー負荷につながります。レンタルサーバーを使うのであれば、なるべくこのようなブロックする対応で防ぎたいものです。

【wordpress】さくらのphpMyAdminにログインできない

phpMyAdminのログイン画面で、正しいIDとパスワードを入力しても「エラーが出たためセッションを開始できませんでした。PHP やウェブサーバのログファイルに出ているエラーを確認して、PHP を正しく設定してください。」と表示される場合の対処法。

対処法

ログイン画面でF5おして更新するだけ。ログイン失敗した後、「戻る」で戻って延々とログインをし続けると解決しない。

ログイン画面に戻ったら、F5押してログイン画面をリロードする。

そうすると、正常にphpMyAdminにログインできる。

 

参考にさせていただいたサイト