问题描述
我正在使用expo做一个项目,但是随后它运行了,现在我正在使用react native。我正在尝试购买应用程序,并且使用的是“ reac-native-iap”库,当我想使用initConection方法初始化连接时,它会向我发出警告并且无法建立连接。因此,问题在于我无法实现该库,在Google Play控制台中,除了之前已经创建了两种产品之外,我已经在内部测试中上传了apk,但我不知道为什么它对我不起作用。
我是由图书馆资料库中的示例指导的,是否不需要其他东西来将Google许可证密钥放在某处?
这是警告消息
import React,{useState,useEffect,useContext} from 'react'
import { StyleSheet,Text,View,ScrollView,Image,TouchableOpacity,Platform,Alert } from 'react-native'
import { AntDesign } from '@expo/vector-icons';
import { MaterialCommunityIcons } from '@expo/vector-icons';
import { FontAwesome5 } from '@expo/vector-icons';
import AsyncStorage from '@react-native-community/async-storage';
import Config from '../config'
import * as RNIap from 'react-native-iap';
import { AuthContext } from '../components/context'
const itemSkus = Platform.select({
ios: [
'1000_monedas','2000_monedas'
],android: [
'1000_monedas','2000_monedas'
]
});
// initializeInAppPurchase();
export default function MyProfile() {
const [userInfo,setUserInfo] = useState(null);
const { signOut } = useContext(AuthContext);
useEffect(() => {
fetchUserData()
},[])
useEffect(() => {
initializeInAppPurchase()
// fetchProductsData()
},[])
const fetchUserData = async() => {
try {
const userData = await AsyncStorage.getItem('userData')
const dataUser = JSON.parse(userData)
setUserInfo(dataUser)
} catch (error) {
console.log(error)
}
}
const fetchProductsData = async () => {
const { responseCode,results } = await InAppPurchases.getProductsAsync(itemSkus);
if (responseCode === InAppPurchases.IAPResponseCode.OK) {
console.log("result",results)
console.log("responseCode",responseCode)
}
}
const initializeInAppPurchase = async() => {
try {
const result = await RNIap.initConnection();
await RNIap.consumeAllItemsAndroid();
console.log('result',result);
} catch (err) {
console.warn(err.code,err.message);
}
}
const onAddCoins = () => {
}
return(
<ScrollView>
<View style={[styles.containerUser]}>
<Image
resizeMode="contain"
style={styles.imageMain}
source={require('../assets/backgrounds/perfil2.jpg')}
/>
<View style={styles.hoverBack}>
<View style={styles.containerImage}>
<Image
resizeMode="cover"
style={styles.profileImage}
source={{uri: Config.urlBackEnd + '//profileImages/' + userInfo?.profile_image}}
/>
</View>
<Text style={styles.textWhite}>{userInfo?.name}</Text>
<Text style={styles.textWhite}>{userInfo?.email}</Text>
<Text style={styles.textWhite}>Tipo de Usuario: {userInfo?.typeOfUser == "teacher" ? "Profesor" : userInfo?.typeOfUser == "user" ? "Usuario normal" : "AdminisTrador"}</Text>
<View style={[styles.containerWallet,styles.shadow]}>
<View style={styles.TrapezoidStyle}>
<FontAwesome5 style={styles.iconCoin} name="coins" size={20} color="#efb810" />
</View>
<View style={styles.coinText}>
<Text style={styles.textMoney}>1000</Text>
</View>
</View>
</View>
</View>
<View style={styles.containerOptions}>
<View style={styles.eachOption}>
<AntDesign style={styles.icon} name="edit" size={25} color="#526065" />
<Text style={styles.textEach}>Editar mi Perfil</Text>
</View>
<View style={styles.eachOption}>
<MaterialCommunityIcons name="textBox-password" style={styles.icon} size={25} color="#526065" />
<Text style={styles.textEach}>Cambiar la Contraseña</Text>
</View>
<TouchableOpacity onPress={onAddCoins}>
<View style={styles.eachOption}>
<MaterialCommunityIcons name="textBox-password" style={styles.icon} size={25} color="#526065" />
<Text style={styles.textEach}>Añadir Monedas</Text>
</View>
</TouchableOpacity>
<View style={styles.eachOption}>
<AntDesign name="delete" style={styles.icon} size={25} color="#526065" />
<Text style={styles.textEach}>Eliminar Cuenta</Text>
</View>
<TouchableOpacity onPress={signOut}>
<View style={styles.eachOption}>
<AntDesign name="logout" style={styles.icon} size={25} color="#526065" />
<Text style={styles.textEach}>Cerrar Sesion</Text>
</View>
</TouchableOpacity>
</View>
</ScrollView>
)
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)