2013-09-30 1 views
0

Я пытаюсь определить лучший подход для выполнения бизнес-логики в адаптере Push. Я успешно выполнил пример PushAdapter (Module_07_04_nativeAPIForiOSPush) из моего локального окружения, но добавление WL.Server.setActiveUser() вызывает ошибку.Не удается найти ошибку метода с помощью WL.Server.setActiveUser()

Я бегу адаптер демо PushAdapter локально в Worklight студии (6.0.0.201309171829), добавляется в качестве первой линии в адаптере:

WL.Server.setActiveUser ("PushAppRealm", идентификатор пользователя); ...

Развернутые изменение адаптер, работать с теми же Params и получить эту ошибку в консоли Worklight:

Не удается найти метод com.worklight.integration.js.JavaScriptIntegrationLibraryImplementation.setUserIdentity (строка, строка). (/integration.js#36) FWLSE0101E: причиненный: [project Module_07_04_nativeAPIForiOSPush] null

Адаптер работает без проблем без этой строки. Я пытаюсь установить активного пользователя, потому что я хочу получить предпочтения пользователя рядом, чтобы определить бизнес-логику о том, следует ли создавать уведомление. Есть ли другой подход?

Я также запускаю это в новом рабочем пространстве (после того, как я применил пакет Fix Pack 1 к WL Studio 6), но, тот же результат.

Вопросы 1) почему получение этой ошибки ?, и 2) является ли это действительным подходом?

Спасибо.

ответ

2

вар UserIdentity = {

 userId: "userid", 
     displayName: "userid", 
     attributes: { 
      foo: "bar" 
     } 
}; 

WL.Server.setActiveUser ("PushAppRealm", UserIdentity);

Это должно сработать. Однако для этого примера вы не должны явно указывать идентификатор пользователя. Метод WL.Server.setActiveUser() используется для установки идентификатора пользователя в случае аутентификации на основе адаптера. В этом примере используется проверка подлинности на основе форм.

Смежные вопросы