最近のアクセス:
Share 外部オブジェクト

あるアプリケーションの情報を、デバイスにインストールされているほかのアプリケーション (Instagram、Facebook、Gmail、ハングアウト、Dropbox など) を使用して共有することが一般的になってきています。Share 外部オブジェクトを使用すると、デバイスに登録されているサードパーティ製アプリケーションでコンテンツを共有できます。
警告: すべてのアプリケーションであらゆる種類のコンテンツを共有できるわけではないことに留意してください。プラットフォームに応じて、さまざまなケースを個別に検討する必要があります。詳細とプラットフォームごとの違いについては、「トラブルシューティング」のセクションと、「注」を参照してください。

イメージ:39650.png イメージ:39651.png
: ソーシャルメディアの共有については、Facebook と Twitter の外部オブジェクトも利用できます。

プロパティ

なし

メソッド

ShareText メソッド

テキストを共有します。オプションで URL とタイトルを追加できます (追加しない場合は空のままにします)。
戻り値  なし
パラメーター text:VarChar(200) [ , url:URL ] [ , title:VarChar(200) ]
 

ShareImage メソッド

画像を共有できます。オプションでテキスト、URL、タイトルをつけることができます。
戻り値  なし
パラメーター image:Image [ , text:VarChar(200) ] [ , url:URL ] [ , title:VarChar(200) ]
 

ShareFile メソッド

ファイル (アプリケーションで生成された PDF ファイルなど) を共有できます。オプションで、テキストとタイトルを指定できます。
戻り値  なし
パラメーター fileURI:VarChar [ , text:VarChar(200), title:VarChar(200) ]
 
注: iOS では text パラメーターは無視されます。
このメソッドは GeneXus 17 Upgrade 7 以降で利用できます。

イベント

なし

ShareText と ShareImage

LightCRM で、会議に関する情報をユーザーが共有するとします。
そのために、Work with Meeting オブジェクトのアプリケーションバーに共有ボタンを追加します。
イメージ:30759.png
次に、このボタンと関連付けられたイベントをプログラミングします。
Event 'Share'
    Composite
        If not CompanyLogo.IsEmpty()
            msg("Sharing meeting with image",status)
            Share.ShareImage(CompanyLogo, MeetingTitle,!"http://www.genexus.com",MeetingNote)
        Else
            msg("Sharing meeting",status)
            Share.ShareText(MeetingTitle,!"http://www.genexus.com",MeetingNote)
        EndIf
    EndComposite
EndEvent
アプリケーションは次の画面のようになります。ボタンをクリックするとポップアップダイアログが開き、コンテンツ共有のために、デバイスにインストールされているアプリケーションが表示されます。最後に、これらのアプリケーションのいずれかを選択して共有する必要があります。
イメージ:30761.png

ShareFile

PDF ファイルを生成するオフラインアプリケーションがあり、ユーザーがそこからファイルをエクスポートして、クラウド ストレージ プロバイダー (Dropbox、Google ドライブ、iCloud など) に保存できるようにするとします。
その場合、次のルールを指定した GeneratePDF プロシージャーを使用できます。
parm(in:&fileName, out:&fileUrl);
output_file(&fileName, "PDF");
ソースコードには次の内容が含まれます:
&filePath = Directory.TemporaryFilesPath + &file.Separator + &name + '.' + &extension
&fileUrl = !'file://' + &filePath
アプリケーションのアクションで生成された PDF ファイルを共有するには、次のような関連付けられたイベントを持つボタンを追加します:
Event 'ShareFile'
    composite
        &fileUrl = GeneratePDF('Sample')
        GeneXus.Social.Share.ShareFile(&fileUrl)
    endcomposite
EndEvent
注:
  • 前のコード例に含まれる変数はすべて VarChar として定義されています。ただし、&file 変数のみ File タイプです。

  • コンテンツを共有する際に、メソッドで指定されたすべてのパラメーターがすべてのアプリケーションに表示されるわけではありません (アプリケーションで必須なパラメーターやアプリケーションが受け取るパラメーターは表示されます)。
  • URL パラメーターは、<スキーム>://<ドメイン> [ <ポート> ] /<パス> 形式の、完全な URL であることが必要です。この形式でない場合、アプリケーションのサービス URL に対する相対的な URL と見なされます。

トラブルシューティング

すべてのサードパーティ製アプリケーションがあらゆる種類のコンテンツに対応しているわけではありません。
次に例を示します。
  • Facebook は常に共有可能なアプリケーションとして公開されますが、プレーンテキストは共有できません。画像と URL は共有できますが、同時に両方を共有することはできません。
  • WhatsApp では、テキスト、タイトル、URL が空の場合にのみ画像を共有できます。これらが空でない場合、画像は送信されません。
  • Twitter ではタイトルのパラメーターが無視されます。
  • Gmail では、タイトルが E メールの件名、テキストがコンテンツとみなされます。
  • iOS 上の WeChat: 画像/URL のないテキストを共有することはできません。
このような制限は、コンテンツを受信する外部アプリケーションに依存します。

適用範囲

プラットフォーム  スマートデバイス (iOS、Android)

使用可能バージョン

この外部オブジェクトは、GeneXus 15 以降で利用できます。

参考情報




サブページ
Created: 17/05/30 19:01 by Admin Last update: 23/05/08 21:27 by Admin
カテゴリ
Powered by GXwiki 3.0