2016-11-16 6 views
2

Android Deeplinkとnode.jsのHTTPサーバを統合しようとしています。実際に、エクスプレスサーバでエンドポイントを作成すると、node.jsでエクスプレスサーバなしでAndroid Deeplinkを実装する方法

app.get('/deeplink', deeplink({  
    fallback: 'https://na.nor.com', 
    android_package_name: 'com.na.nor' 
})); 

のようになります。しかし、実際には、通常のhttpサーバと統合する必要があります。

+0

これは少し曖昧です。理想的には使用例を使用して、達成したい結果を詳細に追加できますか? –

+0

実際には、httpサーバのリクエストハンドラメソッドへのコールバックとして、deeplink({ フォールバック: 'https://na.nor.com'、 android_package_name: 'com.na.nor' })を渡す必要があります。 –

答えて

2

はい私はHTTPエンドポイントで作業するために自分の仕事をしています.HTMLミドルウェアで使用するために変更したディープリンクライブラリの代わりにディープリンクを必要とする必要はありません。次のコードを投稿すると、誰かに役立つことを願っています。ありがとう

 var file = fs.createReadStream(path.join(__dirname, '/public/index.html')); 
     var options={ 
      fallback: config.deeplink_fallback, 
      android_package_name:config.deeplink_package_name 
     };  
     var detoken = new stream.Transform({ objectMode: true }); 
     detoken._transform = function (chunk, encoding, done) { 
      var data = chunk.toString() 
      Object.keys(options).forEach(function (key) { 
       data = data.replace('{{' + key + '}}', options[key]) 
      }); 
      this.push(data); 
      done();  
     } 
     var inline = inliner({ basedir: path.join(__dirname, '/public') }); 
     res.statusCode=200; 
     res.setHeader('Content-Type', 'text/html; charset=utf-8'); 
     var newdt=file.pipe(detoken).pipe(inline); 
     newdt.pipe(res); 
関連する問題