「みんなのコミック」は2018年10月31日を持ちまして更新を終了いたしました。
はじめに
この記事は「みんコミ Advent Calendar」の9日目の記事です。
「みんコミ」のAndroidアプリ(バージョン1.0.2)をベースに執筆しています。スクリーンショットは極力控える方針ですので、本記事を読む際には、「Google Play Store」からアプリをインストールしておくことをお勧めします。
外部リンクのクリック
「みんコミ」は、SNSでの口コミを重視しているようです。
実際、Twitterの#みんコミを見ると、読者がコミックの感想を寄せていたり、作者の人たちが作品を宣伝していたりします。
その際に、作品ページへのリンクも投稿されているのですが、Android端末でそれらのリンクをタップして開くWeb版の「みんコミ」は、AndroidやiOSのブラウザからは見られないように制限されています。
残念なのは、Android版の「みんコミ」アプリをインストールしていても、やはりリンクをクリックするとブラウザが開いてしまうと言うことです。
AndroidにはIntent
という便利な仕組みがあります。
Intentを使えば、リンクをクリックしたときにどのアプリで選ぶかをユーザーに選択肢として提示でき、SNSのリンクから、そのままアプリを起動してコンテンツに誘導できます。
AndroidManifest.xml
Intentに関する情報はAndroidManifest.xmlに記載します。
<?xml version="1.0" encoding="utf-8"?>
<manifest
package="io.keiji.mincomisample"
xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
</activity>
<activity
android:name=".SettingActivity"
android:label="その他">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".TitleActivity"
android:label="タイトルページ">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:host="www.mincomi.jp"
android:pathPattern="/?title=.*"
android:pathPrefix="/title"
android:scheme="http"/>
<data
android:host="www.mincomi.jp"
android:pathPattern="/?title=.*"
android:pathPrefix="/title"
android:scheme="https"/>
</intent-filter>
</activity>
<activity
android:name=".AuthorActivity"
android:label="著者ページ">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:host="www.mincomi.jp"
android:pathPattern="/?author=.*"
android:pathPrefix="/author"
android:scheme="http"/>
<data
android:host="www.mincomi.jp"
android:pathPattern="/?author=.*"
android:pathPrefix="/author"
android:scheme="https"/>
</intent-filter>
</activity>
</application>
</manifest>
作品タイトルを開くのはTitleActivity
、著者ページはAuthorActivity
が、それぞれ担当します。
data
タグのhost
に、アプリが受け取るURLに関する情報を記述しています。なお、schemeはhttp
とhttps
両方をハンドリングできるようにしてあります。
このアプリをインストールした状態で、再びTwitterなどで「みんコミ」のリンクをクリックします。
すると、次のように起動するアプリの選択画面が表示されます。
ここで「タイトルページ」を選択すると、サンプルアプリが起動します。
画面にはtitleIdやauthorIdとしてクリックしたリンクの最後にある数字が表示されます。
Intentの処理
プログラム側を見てみましょう。ユーザーがクリックしたURLは、アプリのActivity側からはIntentの形で受け取ります。
今回の場合はgetQueryParameterでtitle
やauthor
の値を取得します。
private void processIntent(Intent intent, TextView textView) {
Uri uri = intent.getData();
String authorId = uri.getQueryParameter("author");
textView.setText("authorId = " + authorId);
}
実際には、これらの値をもとに、タイトルの詳細や著者の詳細を表示することになるでしょう。
ただし、Intentで外部からのリンクを受け付けるときには、アプリ自体のセキュリティ設計に注意して下さい。データの更新を伴うIntentの場合、不正なリンクを送り込まれてデータを破壊されたり、ContentProviderなどで設計に不備があると、アプリの情報が不正に利用されたりする可能性があります。
サンプルプロジェクトをGitHubに置いておきます。
https://github.com/keiji/adventcalendar_2015_mincomi
「有山圭二」は「みんなのコミック」及び運営の「株式会社イーブックイニシアティブジャパン」とは一切関係がありません。
また、本アドベントカレンダーの内容はあくまで参加者個人の見解です。
「みんなのコミック」の評価を目的とするものではありませんので、ご了承下さい。
みんコミといえば、僕が普段からお世話になっている根雪れい(@neyuki_rei)さんも連載していますね。
10歳になったおかあさんと僕の生活をマンガにしましたよ~。見てくださいね ! https://t.co/UfxCfaOYRZ #みんコミ #みんなのコミック pic.twitter.com/2nHBnFus4n
— 根雪れい.おかあさん(10)と僕。連載中 (@neyuki_rei)
根雪さんの「おかあさん(10)と僕。」は……[TODO: 更新されたら感想を書く]
そしてもう一つ、「みんコミ」で気になる作品を紹介します。
「みんコミ」で連載始まりましたヽ(゚∀゚)ノ パッ☆
https://t.co/U3yj63pXQk
応援よろしくお願いします~!
— 明川 真弓@ティア114『と11a』』 (@mayumiasugawa) November 12, 2015
ロリコンの神職(社会職業的な意味で)が、ケモミミ幼女とキスしたら子供に戻ってしまって……という話のようです。
何を言っているのか自分でもよくわかりませんが、みんコミってそんな感じの作品が多いです。
ただ、残念なのはこの作者さん、Twitterアカウントを見ると、大変良い眼鏡っ娘を描く人だとわかります。
明日のティア、新刊はありませんが少し原稿の猶予を頂けたので 無配のペーパー漫画作ってます!なんてことない水野さんの仕事風景ですがよろしければ受け取りに来てください(ノ´∀`*) #COMITIA114 #コミティア114 pic.twitter.com/bBA2u13KXL
— 明川 真弓@ティア114『と11a』』 (@mayumiasugawa) November 14, 2015
にも関わらず、この「こどもチェンジ」では第1話に眼鏡っ娘が出てこないという……一体どこで何を間違ったらそうなるのかと問い詰めたくなります。
しかし、カラーの見開き扉絵にはきちんと眼鏡っ娘が出ることが予告されているので、大いに期待したいところです。
それでは明日10日の担当は、眼鏡はどんな格好にも似合うけど、ケモミミ眼鏡だけはどうしても認められない「有山圭二」さんです。
よろしくお願いします。