プログラムの事とか

お約束ですが「掲載内容は私個人の見解です」

UWPの共有で使われる項目がよくわからなかったので調べてみた

f:id:puni-o:20160224151701j:plain

写真は単なる釣りです。

ほとんど使っていないと思いますがWindows10の場合は Win+Hで共有チャーム(ってまだ呼んでいいの?)が出てきますね。 存在を知らない人もかなりいるんじゃないでしょうか。

それでもUWP(Universal Windows Platform)アプリでちょっとツイートしたい、って時にわざわざtwitterAPIを実装するなんてダルすぎなので使ってみようと思いました。

何が共有されるのかよくわからなかったのでテストしてみた

共有機能に関してはDataTransferManagerでできるんですが、共有のガイドラインっぽいものが残念ながら私には見つけられず何を入れればどこに出るのかがいまいちだったので一通り設定してみてどう出るのか試してみました。

試してみた結果を書いているだけなので間違いがあるかもしれませんよ。

テスト用コードはこんな感じ。面倒そうなのはパスで。

private static void DataTransferManager_DataRequested(DataTransferManager sender, DataRequestedEventArgs args)
{
    var package = args.Request.Data;

    package.Properties.ApplicationListingUri = new Uri("http://ApplicationListingUri");
    package.Properties.ApplicationName = "ApplicationName";
    package.Properties.ContentSourceApplicationLink = new Uri("http://ContentSourceApplicationLink");
    package.Properties.ContentSourceWebLink = new Uri("http://ContentSourceWebLink");
    package.Properties.Description = "Description";
    package.Properties.EnterpriseId = "EnterpriseId";
    package.Properties.LogoBackgroundColor = Colors.Magenta;
    package.Properties.PackageFamilyName = "PackageFamilyName";
    package.Properties.Title = "Title";
    package.Properties.Square30x30Logo = RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/Square30x30Logo.png"));
    package.Properties.Thumbnail = RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/Thumb.png"));

    package.SetApplicationLink(new Uri("https://SetApplicationLink"));
    package.SetBitmap(RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/Bitmap.jpg")));
    package.SetHtmlFormat("<http>SetHtmlFormat</http>");
    package.SetText("package.SetText");
    package.SetWebLink(new Uri("https://SetWebLink"));
}

出てきたアプリに片っ端から送ってみる

このPCにインストールしている対応アプリに片っ端から送って、使用しているプロパティ(メソッド)をあげてみます。

Mevy

f:id:puni-o:20160224152222p:plain

  • Thmbnail
  • Title
  • Description
  • SetText
  • SetWebLink

メール

f:id:puni-o:20160224153508p:plain

  • Title
  • SetBitmap
  • SetWebLink

Aero Prism

f:id:puni-o:20160224153717p:plain

なにもなかった・・・


メッセージング

f:id:puni-o:20160224153743p:plain

  • Title
  • SetWebLink

OneNote

f:id:puni-o:20160224153812p:plain

  • Title

Aristea

f:id:puni-o:20160224153836p:plain

  • Title
  • SetBitmap
  • Description
  • SetWebLink

Facebook

f:id:puni-o:20160224153918p:plain

  • SetText

Nextgen Reader

f:id:puni-o:20160224153953p:plain

  • Title
  • SetWebLink

Twitter

f:id:puni-o:20160224154047p:plain

  • SetText
  • SetWebLink

リーディングリスト

f:id:puni-o:20160224154114p:plain

  • Title
  • Description
  • SetBitmap
  • LogoBackgroundColor
  • Square30x30Logo

Collect Traveler

f:id:puni-o:20160224154220p:plain

  • SetBitmap

ばらばら ですね。

SetWebLinkが結構使われていますが、これを 指定しないSetTextが使われるっていうアプリが多い気がします。

結論

わかんねー

自分が使ってみて使いやすいように実装すればいいのかな?