読者です 読者をやめる 読者になる 読者になる

Challenge Java EE !

Java EEを中心に趣味や仕事における開発メモを書いています。

XamarinでShare Pluginを使ってSNSなどにシェア

Xamarin

XamarinのアプリからTwitterやFacebookとかを呼び出す機能つけたいなぁと思って調べてたのですが、Xamarin純正(?)のXamarin.SocialなるComponentがありました。

Xamarin.Social / Components / Xamarin

が、自分の環境だとNuGetでのインストールがうまくいかず、、、同じようなことに遭遇してるQAで以下の「Share Plugin」が勧められていました。

GitHub - jguertl/SharePlugin: Simple way to share a message or link on a social network in your Xamarin.Forms projects.

こちらはNuGetからインストールできた。ホッ。

なお、同じライブラリでDeprecatedになっているものもNuGetのリストには出てくるので注意です。(キャプチャ最上段のがDeprecatedと書いてある)

f:id:kikutaro777:20160720222718j:plain

利用は簡単で、とりあえずXAMLにボタンを置いて

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="ShareSample.SharePage">
  <Button x:Name="shareButton" Text="Share" />
</ContentPage>

ボタンイベントでCrossShare.Current.Shareメソッドを呼ぶだけ、という(^^;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Plugin.Share;
using Xamarin.Forms;

namespace ShareSample
{
    public partial class SharePage : ContentPage
    {
        public SharePage()
        {
            InitializeComponent();

            shareButton.Clicked += ShareButtonClick;
        }

        public void ShareButtonClick(object sender, EventArgs ea)
        {
            CrossShare.Current.Share("Xamarinからシェアしてみるテスト");
        }
    }
}

これで実行。ボタンがやる気なさすぎですが、とりあえず(^^;
f:id:kikutaro777:20160720223350j:plain

エミュレータで実行してボタンを押すと

f:id:kikutaro777:20160720223313j:plain

うーん(゜-゜)って感じですが

実機で試したら、おぉ、なんかそれっぽい!

f:id:kikutaro777:20160720223503j:plain

f:id:kikutaro777:20160720223522j:plain

試しにTwitterを選んでみると

f:id:kikutaro777:20160720223536j:plain

おー。ちゃんとテキストが。で、こんな感じに。

ShareLinkメソッドを使うと

CrossShare.Current.ShareLink(
    "http://46collection.sakamichi46.com/",
    "坂道グループのTwitterランクWeb");

こんなコードでメールとか選ぶと

f:id:kikutaro777:20160720223700j:plain

Title属性(引数の2つ目)はメールの表題などにはいるようです。シンプルで良さそう。

にほんブログ村 IT技術ブログへ
にほんブログ村
にほんブログ村 IT技術ブログ Javaへ
にほんブログ村