前提・実現したいこと
PHP(Ethna)で作られたユーザー投稿型のWebサービスを管理しています。
記事ページにSNSシェアボタンを設置したのですが、AndroidでTwitterに共有することができません。
発生している問題・エラーメッセージ
1)jsを使ってdata属性でシェアボタンを設置(ジェネレータと同様)
->Android × Chromeで、シェアボタンが表示されない場合があります。サービスにTwitter連携でログインしていれば表示されます。Twitter連携でログインしていなければシェアボタン自体が表示されません。
2)jsを使わずhref属性でシェアボタンを設置
->Android × Chrome または iOS × Safariで、Twitterアプリで開いた際、ハッシュタグしか表示されず、シェア用URLなどが全く表示されません。
該当のソースコード
View(HTML × Smarty)
{if $ua|regex_replace:'/android/':'x' ne $ua} <a href="{$app.sharingUrl}"><img height="20px" src="https://asobikatan.jp/img/sTweet.png"></a> {else} <a href="http://twitter.com/share" class="twitter-share-button" data-url="http://{$config.domain}/user/{$app.asobikata.user.login_id}/{$app.asobikata.id}.htm" data-text="この遊びおもしろい!" data-hashtags="あそびカタン" data-count="horizontal" data-lang="ja">Tweet</a><script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> {/if}
Action(PHP × Ethna)
$url = "http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]; $sharingUrl = "https://twitter.com/intent/tweet?hashtags=%E3%81%82%E3%81%9D%E3%81%B3%E3%82%AB%E3%82%BF%E3%83%B3&original_referer=" . $url . "&ref_src=twsrc%5Etfw&text=%E3%81%82%E3%81%9D%E3%81%B3%E3%82%92%E6%8A%95%E7%A8%BF%E3%81%97%E3%81%9F%E3%82%88%EF%BC%81&tw_p=tweetbutton&url=" . $url; $this->af->setApp('url', $url); $this->af->setApp('sharingUrl', $sharingUrl);
あなたの回答
tips
プレビュー