Cordova アプリに Twitter Timeline の埋め込み
はじめに
Cordova iOS アプリ, Android アプリで Twitter Timeline の埋め込みを実現する方法。
TL;DR
- ライブラリを使わずに自前で実装
- tonickkozlov/vue-tweet-embed 使ってたがどうやってもダメだった
- cordova-plugin-whitelist を使用
config.xml
に<allow-navigation />
を追加
1 | <allow-navigation href="https://*twitter.com/*" /> |
目次
環境・条件
1 | $ sw_vers |
- iPhone 11 Pro (iOS 13.6.1)
- Huawei Note lite2 (Android 9)
詳細
自分の環境が Vue + Cordova 環境なので、Vue 使ってない人は適宜読み替え(or 無視)。
結論
「TL;DR」や「まとめ」に書いた通り。
- ライブラリを使わずに自前で実装
- tonickkozlov/vue-tweet-embed 使ってたがどうやってもダメだった
- cordova-plugin-whitelist を使用
config.xml
に以下3つの<allow-navigation />
を追加
1 | <allow-navigation href="https://*twitter.com/*" /> |
config.xml の変更(whitelist 設定)
cordova-plugin-whitelist がインストールされていない場合は追加。
1 | $ cordova plugin add cordova-plugin-whitelist |
config.xml
を変更。
1 |
|
Twitter Timeline 表示処理の実装
Vue の場合の実装例 (今回はコンポーネントとして実装)。
xxxx.vue
1 | <template> |
試してもダメだったこと
参考: html - How to embedded twitter widget into android phonegap - Stack Overflow
config.xml
に以下を追加しても、ライブラリ(tonickkozlov/vue-tweet-embed) 利用はダメだった。
1 | <access origin="https://twitter.com" /> |
まとめ
- ライブラリを使わずに自前で実装
- tonickkozlov/vue-tweet-embed 使ってたがどうやってもダメだった
- cordova-plugin-whitelist を使用
config.xml
に<allow-navigation />
を追加
1 | <allow-navigation href="https://*twitter.com/*" /> |
その他・メモ
Xcode(iOS アプリ実行時) で ERROR Internal navigation rejected - <allow-navigation> not set for url='about:blank'
のエラー表示を見つけ、検索して以下ページにたどり着いたことから解決した。
参考文献
- Whitelist - Apache Cordova
- Internal navigation rejected:
in Cordova on iOS - Stack Overflow - html - How to embedded twitter widget into android phonegap - Stack Overflow
- [Monaca] Whitelistプラグインについて - Qiita
関連記事
- Cordova で Repro とカスタム URL スキームを使ってディープリンクを扱う
- Cordova Android で iframe 内のリンクをシステムデフォルトブラウザで開く方法
- NativeScript, JsBarcode でバーコードを 生成/描画
- Cordova でアプリ名やアプリのバージョン情報などを取得
- Cordova で端末やエミュレータを指定してデプロイする
- Cordova iOS アプリで長押し(ロングタップ, ロングプレス)によるコンテキストメニューを無効化
- JavaScript で URL のクエリパラメータを操作する方法
- jQuery Select2 で、初期値の設定と選択状態のクリア