我才刚刚开始了解Angular(?),并尝试使用GameSparks作为数据提供者(SDK)来构建应用程序
我的项目中有一个路由器,如下所示:
import { NgModule } from '@angular/core';
import { Routes, RouterModule, PreloadAllModules } from '@angular/router';
const routes: Routes = [
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{
path: 'home',
loadChildren: '../pages/home/home.module#HomePageModule'
},
{
path: 'list',
loadChildren: '../pages/list/list.module#ListPageModule'
}
];
@NgModule({
imports: [RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })],
exports: [RouterModule]
})
export class AppRoutingModule { }
现在,我已将GameSparks SDK添加到我的项目的“ scr / assets / gamesparks”文件夹中。
在这里,我有一个初始化的.js脚本,如下所示:
var gamesparks = new GameSparks();
var gsKey = "XXXXXXXXX";
var gsSecret = "XXXXXXXXXXXXXXXXXXXXXXX";
var gsCredentials = "";
var isLive = true;
//Initialse the SDK
function init() {
if (isLive) {
gamesparks.initLive({
key: gsKey,
secret: gsSecret,
//credential: gsCredentials,
onNonce: onNonce,
onInit: onInit,
onMessage: onMessage,
logger: console.log,
});
} else {
gamesparks.initPreview({
key: gsKey,
secret: gsSecret,
//credential: gsCredentials,
onNonce: onNonce,
onInit: onInit,
onMessage: onMessage,
logger: console.log,
});
}
}
//Callback function to hmac sha256 a nonce with the secret. It's assumed you will have your own method of securing the secret;
function onNonce(nonce) {
return CryptoJS.enc.Base64.stringify(CryptoJS.HmacSHA256(nonce, gsSecret));
}
//Callback to handle when the SDK is initialised and ready to go
function onInit() {
console.log("Initialised");
// NOW I AM READY TO START THE APP, BUT NOT SURE HOW?!?!
}
当onInit()被调用时,我应该能够继续前进,但是我不确定如何在路由器之前调用该脚本,或者甚至应该在路由器上调用该脚本,以及如何使GameSparks SDK可用在我所有的页面中?
真的希望获得一些指导或帮助,并在此先感谢:-)
如何将您的GameSparks初始化代码放入服务类中,在构造函数中对其进行初始化,并用吸气剂将GameSparks公开,然后将服务注入您要使用的组件中。