DeeplinkingをGWTの歴史のトークン内にFacebook iFrameキャンバス
質問
たいと思い深いコンポーネントに直接リンクは、GWTのアプリページ内のFacebook iFrameキャンバスに入力します。
最初の部分は簡単に利用GWTの歴史のトークンとUrlのように:
http://www.example.com/MyApp/#page1
を開page1マアプリです。
Facebookアプリ利用申請のようなurl:
http://apps.facebook.com/myAppName
るフレームに私のキャンバスコールバックURL
http://www.example.com/MyApp/
があるので、指定し、キャンバスコールバックurl(またはブックマークのurlのユーザーが特定のページではなく、インデックスページ?
なぜですか?お気軽にご相談ください.ほかのすべての特典を深くリンク...
してほしい"への応用"urlにユーザーインデックスページw/マーケティング材料のキャンバスコールバックurl)
してほしい"ブックマークのURL"に入ることが返す)のユーザーへのログインページやバイパスのダウンロード"でダウンロード販売コンテンツ(およびその巨大なSWFファイル).
解決
これはハックのように見えるかもしれないが、ここではそれが行くます。
FacebookはアプリケーションがURLにパラメータにタックすることができます?X = 123
だから私はそれが私の特別な「ページ」パラメータと、そのページのロードが含まれているかどうかを確認するために、ウィンドウの位置を確認しています。以下は、私の解決策は、私はGWT + GWT-プレゼンターのPlaceManagerクラスを使用していることを与えられます。
アプリケーション深いURLは http://apps.facebook.com/myAppNameなってしまいますか?ページ=ページ1 の
EventBus eventBus = injector.getEventBus();
// Load PlaceManager so it can start listening
PlaceManager placeManager = injector.getPlaceManager();
String currentPlace = History.getToken();
String place = Window.Location.getParameter( "page" );
if (place != null && !place.isEmpty()) {
// send user to the place on the URL line
eventBus.fireEvent( new PlaceRequestEvent( new PlaceRequest( new Place (place) ) ));
} else if ("".equals(currentPlace)) {
// Nothing in URL, load default GWTpage
eventBus.fireEvent( new PlaceRequestEvent(new PlaceRequest( IndexPresenter.PLACE)));
} else {
// fire a body to the Place Manager to activate the requsted Place
placeManager.fireCurrentPlace();
}
所属していません StackOverflow