Hello, my social class is as follows:
 
 
RBSocial = class()
 
function RBSocial:init( android_id, apple_id, nook_id, stores)
    self._supportedStores = stores
    self._settings = self:getSettings( android_id, apple_id, nook_id)
    self._promoSettings = self:getSettings( android_id, apple_id, nook_id)
    self._usesIAP = true
end
 
function RBSocial:getSettings( android_id, apple_id, nook_id)
    local settings = {
        iOSAppId = “”…apple_id,
        nookAppEAN = “”…nook_id,
        androidAppPackageName = “”…android_id,
        supportedAndroidStores = self._supportedStores,
    }
    return settings
end
 
function RBSocial:openRateURL()
    native.showPopup(“rateApp”, self._settings)
end
 
function RBSocial:openAppStore( otherSettings)
    native.showPopup(“appStore”, otherSettings)
end
 
function RBSocial:setPromoVersion( promoPackage )
    self._promoSettings = self:getSettings( promoPackage, “”, “”)
end
 
function RBSocial:openPromoAppStore()
    native.showPopup(“appStore”, self._promoSettings)
end
 
 
and it’s called as folows
 
social = RBSocial(“my.package.name” , “”, “”, {“amazon”})
social._usesIAP = false
social:setPromoVersion(“myotherapp.package.name”)
 
where my.package.name is exactly the package name of my apps. 
 
As you see, when I call the “openPromoAppStore” and “openRateURL()” method it should call only amazon app store because is the one I defined in my social class. the code is good, has been working till now. and I’ve not changed it recently.