2016-11-16 20 views
2

我正在嘗試將Android Deeplink與HTTP服務器集成到node.js中。其實,如果我用快遞服務器創建終點,就像如何在node.js中實現沒有快遞服務器的Android Deeplink

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

它會正常工作。但實際上我需要與普通的http服務器集成。

+0

這有點含糊。你可以在你想要達到的結果上添加一些細節,理想情況下使用例子嗎? –

+0

實際上,我需要將httplink服務器請求處理程序方法的回調作爲回調傳遞給深層鏈接({fallback:'https://na.nor.com', android_package_name:'com.na.nor' })。 –

回答

2

是的我已經完成了使用HTTP端點工作的工作。無需使用深度鏈接,而只需要修改後的深層鏈接庫就可以使用HTTP中間件。張貼下面的代碼,希望它可以幫助到某人。謝謝

 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); 
相關問題