我正在尝试将 Android Deeplink 与 Node.js 中的 HTTP 服务器集成。实际上,如果我使用 Express 服务器创建一个端点,例如
app.get('/deeplink', deeplink({
fallback: 'https://na.nor.com',
android_package_name: 'com.na.nor'
}));
它会工作得很好。但实际上我需要与普通的http服务器集成。
最佳答案
是的,我已经完成了与 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);
关于android - 如何在node.js中实现没有express服务器的Android Deeplink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40632977/